问题标签 [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 投票
1 回答
238 浏览

angular - 不同设备上的 Firebase 电子邮件链接登录

我正在使用 Firebase Auth 开发一个 Angular 应用程序,我希望允许我的用户通过电子邮件链接登录。

我的用户在尝试登录时不会在同一设备上打开链接。

当我的用户在设备 A 上请求电子邮件链接,然后在设备 B 上打开该电子邮件链接(确认电子邮件)时,他会在设备 A 和设备 B 上登录吗?这是我想要的行为。

如果不可能开箱即用,是否有任何自定义方法可以启用此行为?

0 投票
1 回答
385 浏览

webauthn - 关于 FIDO2 webauthn 和 U2F 的几个开放性问题

  • 我在多个地方读过,由于 U2F 没有用户的概念,它可以用作登录的因素之一(在 MFA 中),但不适合无密码,而 webauthn 有用户的概念,可以帮助无密码。我的问题是 webauthn 添加的额外内容是什么?是的,我们在创建凭据时确实传递了用户信息,但最终我们返回了一个凭据 ID(这似乎与密钥句柄非常相似)并用于关联用户(在服务器上)。据我了解,webauthn def 具有使用不同身份验证器(不仅仅是 U2F 密钥)的优势,但除此之外,webauthn 究竟添加了什么以使无密码更容易。

  • CTAP 描述了浏览器和操作系统如何通过 USB、NFC 或 BLE 通信介质与兼容的身份验证设备建立通信。我们可以说 CTAP 是一种应用层协议(如 FTP 吗?)

  • 当我在我的安卓手机上使用指纹功能使用 webauthn 进行验证时,浏览器是否使用 CTAP2 与操作系统进行通信(进而弹出身份验证器)?ufc、nfc、ble、internal 哪里来的?

  • 这是浏览器对 webauthn 的支持图表。在 chrome/android 中,对 WebAuthnAPI 的稳定支持但对 CTAP2 的开发支持是什么意思?这是否意味着不支持某些身份验证器? 浏览器对 webauth 的支持

0 投票
0 回答
84 浏览

javascript - 如何使用无密码魔术链接登录到 iOS 主屏幕书签 web 应用程序:通用链接?

我有一个https://www.example.com通过魔术链接使用无密码登录的 web 应用程序(= 网站可用)。

这个相同的 web 应用程序可以使用apple-mobile-web-app-capable元标记安装在 iOS 上(= 在 iOS 主屏幕上为我的 web 应用程序添加书签,并在没有 Safari 浏览器/地址栏的情况下打开......)。

但是,我无法从这个 chromeless Safari 登录我的 web 应用程序,因为当我单击电子邮件中的魔术链接时,它会打开 Safari 并在 Safari 中设置我的 cookie - cookie 不与我的 chromeless Safari 共享。

有没有办法解决这个问题?通用链接似乎适用于本机应用程序,而不是网站/网络应用程序。

谢谢

0 投票
1 回答
1412 浏览

amazon-cognito - Cognito Auth.sendCustomChallengeAnswer 给出“AuthClass - 无法获取登录用户没有当前用户”

我正在尝试制作用于登录的 API (Lambda 和 API 网关)并使用 OTP 进行无密码身份验证验证身份验证。目标是使用 Angular 和使用 Flutter 的移动应用程序制作前端,但 AWS Amplify 不支持 Flutter。因此,通过创建这些 API 来服务于我的目的。前端代码(Auth.signInAuth.sendCustomChallengeAnswer)效果很好,但使用相同的代码验证身份验证 API不起作用。分享我的代码。

登录接口:

验证 Auth API:(从登录期间存储的 DynamoDB返回的 c['Session'] )

在调试前端Auth.signIn响应和 Lambda API Auth.signIn响应后,我调查了从前端登录时返回的额外“存储”对象,并在通过Auth.sendCustomChallengeAnswer发送之前附加到this.cognitoUser1上。请参阅下面的截图: 这是从前端成功验证 OTP 的原因吗?如果是这样,如何制作 API(使用 Lambda 和 API 网关)以及它存储此存储对象的位置。卡在这里。任何建议和帮助将不胜感激。回复截图

0 投票
2 回答
1184 浏览

python - 使用 Cognito & API Gateway & Lambda (Python) 的无密码身份验证流程

我一直在尝试使用 AWS Cognito & API Gateway & Lambda (Python) 实现无密码身份验证

我关注了这些文章: https ://medium.com/digicred/password-less-authentication-in-cognito-cafa016d4db7 https://medium.com/@pjatocheseminario/passwordless-api-using-cognito-and-serverless-框架-7fa952191352

我已经配置了 Cognito(接受 CUSTOM_AUTH),添加了 Lambda,并创建了 API 端点:

调用initiateAuth时,我收到以下响应:调用InitiateAuth操作时发生错误(NotAuthorizedException):用户名或密码不正确。”

我正在使用不需要密码的 CUSTOM_AUTH,并且用户名绝对正确,因为它实际上启动了身份验证流程并且我收到了一个代码,但是因为 boto3 没有通过会话响应我无法继续身份验证。

这就是我所说的 Cognito:

这可能是我缺少的一些小东西,但我不知道是什么。

0 投票
0 回答
161 浏览

amazon-web-services - 我如何告诉 AWS Lambda 函数根据环境重定向?

所以目前我使用 AWS Lambdas 作为我的 Cognito Passwordless 身份验证的触发器。对于 create_auth_challenge 触发器,我有一个 AWS Lambda 函数,该函数向用户发送一个链接,以根据环境将他们重定向到某个地方。唯一的问题是我不确定如何动态地告诉函数身份验证请求来自哪个环境。

0 投票
0 回答
171 浏览

python - 需要使用 python Paramiko/Jumpssh 和无密码身份验证从跳转主机连接到 linux 服务器

目标是使用 python paramiko/jumpssh 从 jumphost 连接到 Linux 服务器,然后执行一些操作。从 jumphost 到其他 linux 主机,需要使用 Passwordless 身份验证连接。请找到下面的代码。

输出 -

没有可用的身份验证方法

请帮我度过难关!!!

0 投票
1 回答
209 浏览

react-native - 给定 oauth_app 资源未找到 - Magic.Link

我尝试将魔术链接社交身份验证集成到我的 React Native Mobile 应用程序中,它总是给出错误Given oauth_app resource not found如附件中所示。

我使用文档中描述的代码,它们如下所示,

https://docs.magic.link/client-sdk/web/social-login

在此处输入图像描述

感谢是否有人可以帮助解决此问题。

0 投票
0 回答
125 浏览

spring-boot - Keycloak 是否公开 WebAuthn API 或者是否可以通过编程方式管理 Webauthn 流

我们目前正在评估称为 Webauthn 并遵循 FIDO2 规范的 Keycloak 无密码登录功能。我能够自定义身份验证流程(通过 keycloak 的管理控制台)并使用 fido2 设备(我的 Mac 的平台身份验证器)登录,它工作正常。

在此处输入图像描述

但是我找不到通过 Webauthn 流程注册用户的选项。以下是问题:

  1. keycloak 目前是否支持它?
  2. 可以以编程方式管理 Webauthn 流吗?使用keycloak spring boot starter等。

谢谢

0 投票
1 回答
38 浏览

linux - gcp debian 服务器上的无密码用户

我在 GCP debian 10 虚拟机上托管我的文件服务器,我想创建无密码用户,以便人们可以从他的主目录公开下载文件。

所以我创建了新用户,用 passwd -d 用户名删除了他的密码,更改了 /etc/ssh/sshd_config 文件,这样它就允许这个确切的用户使用空密码登录并设置 chroot 监狱,重新启动 ssh 服务。

不幸的是,当我通过 ssh 连接到该用户时,它仍然提示我输入密码。

此设置在旧服务器上运行,配置绝对正确,用户绝对没有密码。我猜谷歌实施了一些额外的保护,不允许我做我想做的事。

也许有人之前已经遇到过同样的问题?