问题标签 [password-less]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
788 浏览

firebase - 在颤振上使用firebase进行电话身份验证不起作用

这是我的注册页面的代码

我的 build.gradle

我已经在我的 Firebase 项目中添加了一个 SHA 指纹,当我单击触发该功能的按钮时,我使用一个字符串来指定它是否实际被触发,尽管字符串显示“代码已发送”,但没有实际代码被发送到我的手机。再说一次,我真的很缺乏经验,我真的很感谢你的帮助。

0 投票
1 回答
191 浏览

ios - 如何在 iOS 上测试 Firebase 无密码登录?

我在我的 Android 应用程序上使用 Firebase 无密码登录没有问题,但我找不到在 iOS 上测试它的方法,因为电子邮件链接总是重定向到 App Store,这是万一找不到的逃生路线安装的应用程序。

在 Android 上,系统将调试/测试版本识别为要打开的应用程序,并且一切正常。但在 iOS 上,似乎 Testflight 版本没有被识别为同一个应用程序,因此逃到了 App Store。是的,我使用的是相同的应用标识符,否则编译不会出现在 Testflight 上。

在不使用 Testflight 方法的情况下调试连接到计算机时出现同样的问题。

我知道 Firebase 现在有 Apple 登录(测试版)选项,但我正在使用颤振,而且目前情况不太好,所以无密码登录是最好的方法。

0 投票
0 回答
533 浏览

authentication - 使用 Keycloak 的本地移动应用程序的无密码 SMS 身份验证

我的用例如下:

  • 我有一个由 Keycloak 保护的 API
  • 我想构建一个将使用此 API 的本机移动应用程序
  • 我不想使用用户名/密码来注册和验证移动应用用户
  • 我想使用无密码短信认证

我想知道这是否可以使用 Keycloak 来完成,类似于auth0 passwordless api提供的东西。

本页简要总结了我所说的无密码 SMS 身份验证的含义。

0 投票
1 回答
197 浏览

authentication - 无密码网站认证/登录

许多网站都有无密码验证系统,即您只需使用电子邮件即可注册/登录/注销,并且不需要密码。

如何实施这样的系统?(框架和语言无关)

注意:我已经阅读:

0 投票
0 回答
202 浏览

authentication - Yubico / Attestation 和 Assertion 之间的凭证 ID 长度不匹配

我正在使用 AAGUID 为 ff8a011f3-8c0a-4d15-8006-17111f9edc7d(Yubico v5.1 的安全密钥)的 Yubico 安全密钥为我的 Web 应用程序执行无密码身份验证。当我创建/注册新凭据时,我在创建凭据选项的authenticatorSelection部分中使用属性“ requireResidentKey = true ” :

返回的Attestation 数据包含 16 个字节的凭证 id:

所以例如我会收到一个 16 字节的 base64url id,看起来像:AUpf0KmNJrRluGG-65D54Q

然后我使用这个 16 字节的 id 作为密钥来保存生成的凭证。当我使用 Yubico 密钥登录时,返回的断言数据包含相同的 16 字节凭据 ID:

然后我可以使用这个凭证 ID 来检索我存储的凭证数据并验证断言。所以到目前为止一切都很好......

然后我正在阅读 W3C Editor's Draft on Web Authentication: An API for access Public Key Credentials Level 2并注意到“ requireResidentKey ”已被弃用,取而代之的是采用枚举值的“ residentKey ”属性:

requireResidentKey,布尔类型,默认为 false 注意:保留此成员是为了向后兼容 WebAuthn 级别 1,但不推荐使用 residentKey。如果调用者提供了 residentKey 并且客户端理解了后者,则忽略 requireResidentKey。否则,使用 requireResidentKey 的值。请注意,requireResidentKey 的值默认为 false。

如果在没有 residentKey 的情况下使用,它描述了依赖方对居民凭证的要求。如果 requireResidentKey 设置为 true,则验证者在创建公钥凭证时必须创建客户端驻留的公钥凭证源。

residentKey,类型为 ResidentKeyRequirement 注意:此成员取代 requireResidentKey。如果两者都存在并且客户端理解 residentKey,则使用 residentKey 而忽略 requireResidentKey。

有关 residentKey 的值和语义的描述,请参见 ResidentKeyRequirement。

所以我将requireResidentKey更改为residentKey,其枚举值为“ required ”,如图所示:

现在,当我创建一个新凭证时,我会返回一个64 字节的凭证 ID。这本来很好,只是当我使用 Yubico 安全密钥登录时,我得到一个16 字节的凭据 ID,它显然与我在创建凭据阶段保存的 64 字节不匹配。

有趣的是,当我尝试同时使用requireResidentKey = trueresidentKey = 'required'时,我得到了为 Attestation 和 Assertion 返回的 16 字节凭据 ID。

这可能是不支持新的residentKey属性吗?如果是这样,为什么我会得到一个 64 字节的凭证 ID?这可能是非居民凭证 ID 的长度吗?

我的代码正在使用旧的requireResidentKey属性恢复工作,但我很想知道这里发生了什么,以及新的 Yubikeys 是否支持residentKey属性?

0 投票
0 回答
189 浏览

angular - 如何避免 firebaseUI 电子邮件链接身份验证打开第二个浏览器选项卡?

当使用带有 firebaseUI 的电子邮件链接身份验证方法时,通过电子邮件发送的超链接会打开一个新的浏览器选项卡,以确认/验证对 firebase 的电子邮件接收,然后重定向到初始 URL。这为用户留下了两个具有相同(经过身份验证的)原始 URL 的浏览器选项卡。

有没有办法只打开一个浏览器选项卡?

我尝试使用返回的 emailLinkSignIn 函数配置 firebaseUI EmailAuthProvider:

  1. { url: '';},这没有效果。
  2. {url: '[another url]';},这会打开“另一个 url”,但不会在原始浏览器选项卡中对用户进行身份验证。

firebaseUI-web - 配置电子邮件提供程序
firebaseUI-angular

0 投票
0 回答
226 浏览

flutter - Flutter Firebase 无密码登录和深层链接在 iOS 上无法可靠运行

我在 Flutter 上开发了一个已发布的应用程序,带有 Firebase Deep 链接,仅适用于 iOS 的无密码登录。在 Android 上,我使用 Google 登录,它工作正常。

但是在 iOS 上,它可以在模拟器和大多数设备上运行(因为我每天都会看到新帐户),但是我收到了一些无法完成登录过程的人的抱怨。电子邮件链接会在浏览器上打开一个中间页面(这是一种带有继续按钮的确认屏幕),有时会重定向到 App Store,有时会重定向到应用程序,但应用程序上没有任何反应,也没有错误显示在安慰。

在模拟器上,电子邮件链接直接重定向到应用程序并顺利完成登录。

此问题已在各种设备型号上发生。有时,即使是曾经可以登录的人,在卸载应用程序并重新安装后也无法再登录。

我无法在我的设备或模拟器上重现它。

那么什么样的配置可能会导致这种奇怪的行为呢?

我在颤振主频道并使用这些插件版本:

0 投票
1 回答
412 浏览

ansible - 如何在 Ansible 中使用无密码用户

我们有一台使用无密码用户来运行一些东西的机器。我们的应用用户被配置为在该机器上支持 sudo,因此我可以运行“sudo su -”并成为该用户,而无需指定密码。(这是在 sudores 文件中配置的)

问题是如何使用我们的应用用户配置运行 playbook 的 ansible,它需要成为无密码用户。

我尝试像这样配置它-成为:是的 become_method:sudo become_user:但我得到-“sudo:需要密码”

如果我将方法切换到“su”,我会得到-“”超时(12s)等待权限提升提示:“

任何想法?我知道 become_flags 可能会有所帮助,但没有看到太多关于它的文档

0 投票
1 回答
12 浏览

ssh - ssh 到另一台主机并运行命令

我已经能够成功地设置从主机 A 到主机 B 的无密码 ssh。现在我想要一个在主机 A 上运行的脚本,该脚本转到 B,然后读取文件或只是在主机 B 上执行某些操作并返回到 A. 在主机 A 上:

但我只是看到这个脚本只是让我登陆 hostB 并且没有按照我的预期执行回显。

有人可以建议在这种情况下该怎么做吗?我已经阅读了一些关于使用 sshpass 的建议。但由于这些是生产主机,我需要经过大量的书面记录才能在主机上安装任何东西,而且修复这个问题的最后期限迫在眉睫。

0 投票
1 回答
557 浏览

hyperlink - 为什么建议为魔术链接 JWT 令牌提供比通过 HTTP 传递的令牌更短的 TTL,为什么是一次性的?

我正在寻找一个从不使用密码并想了解风险的应用程序。

Magic Link 指南经常建议给 JWT 令牌一个短 TTL 并实现一次性使用。

被泄露的电子邮件帐户似乎是一个静音点,因为可以使用密码提醒来检索密码。我们已经依赖电子邮件帐户。此外,与大多数自建应用程序相比,电子邮件的安全性(例如设备识别)要好得多。

如果您使用 HTTPS,将 JWT 令牌作为查询字符串参数传递是没有风险的,我会这样做。

强制一次性使用意味着维护服务器端令牌数据库——使用 JWT 的原因之一是不必这样做。

采用无密码意味着人们每次想要登录时都必须通过电子邮件往返,这不是很好的用户体验,但可以接受吗?

一旦他们获得访问权限,所有未来的身份验证都会像往常一样通过 JWT 进行管理。

我错过了什么吗?