我正在尝试了解有关 Apple Passkeys 的更多信息。我使用 Firebase 作为后端,在没有自定义后端的情况下,将它实际集成到我的网站中似乎很麻烦\xe2\x80\xa6\n是否有 Passkeys+Firebase 实现的解决方案?网上实在找不到任何东西。
\nApple 和 Google 都在其开发者大会(Google I/O和Apple WWDC 2022 )上演示了Passkeys,微软也参与其中。能够在设备之间传输密钥消除了 FIDO2/WebAuthn 的主要限制,并且可能会成为突破。
然而,苹果和谷歌在他们的演示中展示了在带有用户名和密码的帐户之上的密钥设置。创建密钥后,无需密码即可登录。
我在目标 Linux 上设置了自定义 SSH 密钥 host2
。
我能够从Linux的密码sshhost1
来host2
使用下面的命令。
ssh -i /app/misc/myssh_keys/my_id_rsa myuser@host2
Run Code Online (Sandbox Code Playgroud)
然后我将其复制/app/misc/myssh_keys/my_id_rsa
到我的 Windows 位置C:\putty\my_id_rsa
然后我尝试从 Windows 连接到 Linux host2
,但它提示我输入密码而不是无密码登录。
下面是我的命令:
C:\putty\putty.exe -ssh -i C:\putty\my_id_rsa myuser@host2
Run Code Online (Sandbox Code Playgroud)
我得到以下带有密码提示的输出:
Unable to use key file "C:\putty\my_id_rsa" (OpenSSH SSH-2 private key)
Using username "myuser".
myhost@host2's password:
Run Code Online (Sandbox Code Playgroud)
以下是 Linux 的系统详细信息 host2
uname -a
Linux host2 3.10.0-1062.1.2.el7.x86_64 #1 SMP Mon Sep 16 14:19:51 EDT 2019 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
以下是 Windows 主机的系统详细信息
C:\Users>systeminfo
Host Name: mywinhost
OS Name: …
Run Code Online (Sandbox Code Playgroud) 我正在尝试实施很酷的 Firebase 电子邮件链接登录功能,但失败了。我成功设置发送电子邮件链接。但是,我无法获得打开应用程序的电子邮件链接。它只是打开预览页面,就像无法打开应用程序一样。
我已经测试了我设置的动态链接,我可以让它在设备中打开应用程序。我只是无法获得电子邮件链接来做同样的事情。
我的应用程序中的代码:
func sendFirebaseEmailLink() {
let actionCodeSettings = ActionCodeSettings.init()
// userEmail comes from a textField
let email = userEmail
actionCodeSettings.url = URL.init(string: String(format: "https://<myappname>.firebaseapp.com/?email=%@", email))
// The sign-in operation has to always be completed in the app.
actionCodeSettings.handleCodeInApp = true
actionCodeSettings.setIOSBundleID(Bundle.main.bundleIdentifier!)
Auth.auth().sendSignInLink(toEmail: email,
actionCodeSettings: actionCodeSettings) { error in
if let error = error {
print(error.localizedDescription)
return
}
else {
UserDefaults.standard.set(email, forKey: "Email")
print("email sent to user")
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我说我已经成功获得动态链接以打开应用程序时,我的意思是当我在安装了该应用程序的设备上点击我创建的链接 (mylinkname.page.link/emaillogin) 时,它会打开该应用程序。正因为如此,[这个有用的 Firebase 视频][1] 关于设置动态链接,似乎我的这些细节是正确的,问题出在代码上,但我是新手,所以我不确定.
我花了几天的时间来解决这个问题,并试图解析密集的 Firebase …
我一直在研究在我公司的应用程序中使用 webauthn 进行 MFA。当我开始研究它时,它看起来非常合适,并且我对我们的用户能够使用手机作为身份验证器的前景感到非常兴奋。
然而,一位拥有 iPhone 的同事向我指出,当他在https://webauthn.io/上尝试示例应用程序时,他无法选择他的 iPhone,并且只能选择将 Android 手机添加到他的帐户。和我们的许多用户一样,他在 Windows 计算机上使用 Chrome,但拥有 iPhone 12。
对我来说,这种情况不被支持似乎是不可想象的?许多用户使用 Windows 并拥有 iOS 设备。我错过了一些明显的东西吗?
我正在尝试在我的应用程序中实现密钥。我想知道 ASAuthorizationPublicKeyCredentialAssertion.rawAuthenticatorData 是否支持signCount。看来值总是0。谢谢!
我一直在尝试使用 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 端点:
/sign-up
/initiate-auth (aka initiate login)
/respond-to-auth-challenge (aka (verify login)
Run Code Online (Sandbox Code Playgroud)
调用 initiateAuth 时,我收到以下响应:调用 InitiateAuth 操作时发生错误 (NotAuthorizedException):用户名或密码不正确。”
我使用的是不需要密码的 CUSTOM_AUTH,并且用户名绝对正确,因为它实际上启动了身份验证流程并且我收到了代码,但是由于 boto3 不响应会话,我无法继续身份验证。
我就是这样称呼 Cognito 的:
res = cognito.initiate_auth(
ClientId=client_id,
AuthFlow="CUSTOM_AUTH",
AuthParameters={
"USERNAME": email,
"PASSWORD": random_password
}
)
Run Code Online (Sandbox Code Playgroud)
这可能是我遗漏的一些小东西,但我不知道是什么。