随着u2f api 的显着消亡,我尝试使用 AppId 扩展转向 WebAuthn API,以支持之前在 U2F 注册的安全密钥。从阅读文档中我可以看出,我认为我做得正确,但是,当尝试进行身份验证时,浏览器提示我点击我的密钥,并且我的密钥正在闪烁,但是点击它后,我收到错误“您“正在使用未在此网站注册的安全密钥”。在比较现有的 u2f 身份验证请求时,我使用相同的 appid 和密钥句柄。
U2F 签名请求示例:
{
"version": "U2F_V2",
"challenge": "zSeDYPUjDVbLQ9HDle3g2QYrHEdG5vGBwAhzqdm_PAY",
"appId": "https:\/\/subdomain.domain.net\/app-id.json",
"keyHandle": "H-tBDjS1Fgr19cprKYUnZ9cDSE2AiX_Ld1kdPR2ruhIUbYr7jP3dflxkjZmfvqxkg5q84eXBr3ium3ETJ61Fww"
}
Run Code Online (Sandbox Code Playgroud)
这是我的服务器响应,它被传递给 webauthn js 库:
{
"publicKey": {
"challenge": "iygioh7vECe9OCQ5K0IBa0XeTD5hxX+aOBGimrJAntg=",
"timeout": 60000,
"rpId": "domain.net",
"allowCredentials": [
{
"type": "public-key",
"id": "SC10QkRqUzFGZ3IxOWNwcktZVW5aOWNEU0UyQWlYX0xkMWtkUFIycnVoSVViWXI3alAzZGZseGtqWm1mdnF4a2c1cTg0ZVhCcjNpdW0zRVRKNjFGd3c="
}
],
"userVerification": "discouraged",
"extensions": {
"appid": "https://subdomain.domain.net/app-id.json"
}
}
}
Run Code Online (Sandbox Code Playgroud)
该凭证 ID 的 Base64 url 解码版本是
H-tBDjS1Fgr19cprKYUnZ9cDSE2AiX_Ld1kdPR2ruhIUbYr7jP3dflxkjZmfvqxkg5q84eXBr3ium3ETJ61Fww
Run Code Online (Sandbox Code Playgroud)
我注意到在我们的 U2F 版本中,appid url 由于某种原因被转义,因此我在 WebAuthn 版本中尝试了相同的操作,但这并没有什么区别。
我还尝试了不带尾随填充 ( ) 的挑战和凭证 ID =,但这也没有帮助。 …
我正在使用Google Admin SDK API管理我们组织的Google应用程序帐户中的用户(创建/更新)。我们允许用户选择使用2要素身份验证功能,并且当我们的内部支持代表之一查询他们的帐户时,我希望能够确定是否启用了该帐户。查看https://developers.google.com/admin-sdk/directory/v1/reference/users上的文档,我看不到任何表明该设置的属性。
我是否可以通过其他方法检查是否通过API启用了它?
我正在尝试使用 AWS CLI 在我的 CI 服务中的 CloudFront 上创建失效,以在部署时自动使文件失效。但是,CLI 返回一条成功消息,但引用的失效是一个月前的,并且没有创建新的失效。
我正在安装和启用 cloudfront:
pip install awscli
aws configure set preview.cloudfront true
aws configure set preview.create-invalidation true
Run Code Online (Sandbox Code Playgroud)
然后我创建失效:
aws cloudfront create-invalidation --cli-input-json '{"DistributionId":"ABC123ABC123","InvalidationBatch":{"Paths":{"Quantity":1,"Items":["/index.html"]},"CallerReference":"codeship"}}'
Run Code Online (Sandbox Code Playgroud)
响应示例,当我在 7/13 东部时间下午 4 点运行此命令时:
{
"Invalidation": {
"Status": "Completed",
"InvalidationBatch": {
"Paths": {
"Items": [
"/index.html"
],
"Quantity": 1
},
"CallerReference": "codeship"
},
"Id": "1234567890",
"CreateTime": "2015-06-12T18:39:56.360Z"
},
"Location": "https://cloudfront.amazonaws.com/2015-04-17/distribution/ABC123ABC123/invalidation/1234567890"
}
Run Code Online (Sandbox Code Playgroud)
当我登录到 CloudFront 时,我可以看到 6/12 的一次失效,但昨天运行此命令时什么也没有。
我做错了什么吗?这个 CLI API 甚至可以工作吗?