使用Firebase OpenID Connect提供程序作为AWS IAM身份提供程序

5
在将Firebase设置为使用OpenID Connect的AWS IAM身份提供程序时,我遇到了以下错误:

在处理您的请求时,我们遇到了以下错误:请检查提供商的.well-known/openid-configuration: https://securetoken.google.com/<Project ID>是否有效。

AWS IAM身份提供程序设置需要两个输入参数,我已经填写了如下内容:
提供商URL: https://securetoken.google.com/<Firebase项目ID>
受众群体: <Firebase客户端ID> 为了解决这个错误,我在浏览器中打开了"http://<提供商URL>/.well-known/openid-configuration",并注意到JSON响应具有"Issuer"和"jwks_uri"字段。我认为这些JSON字段表明Firebase OpenID Connect提供程序URL是有效的。
你有什么想法可以避免上述错误并成功设置AWS IAM身份提供程序吗?
1个回答

10

我联系了AWS支持,他们帮助解决了问题。感谢Shaun H @ AWS!

解决问题的方法是使用AWS CLI而不是AWS控制台设置OIDC提供程序

我将粘贴Shaun的回复中相关的部分: 1.) 使用此处描述的过程手动获取和验证指纹。
"ThumbprintList" = "6040DB92306CC8BCEB31CACAC88D107430B16AFF"

2.) 使用AWS Cli创建OIDC身份提供程序[2]。 例如:$ aws iam create-open-id-connect-provider --cli-input-json file://oidc.json 注意 - 格式应为:
aud Audience 必须是您的Firebase项目ID,即Firebase项目的唯一标识符,可以在该项目的控制台的URL中找到。 iss Issuer 必须是https://securetoken.google.com/<projectId>,其中与上面的aud使用相同的项目ID。

file://oidc.json的内容:(用您的项目ID替换)

{
    "Url": "https://securetoken.google.com/<Firebase Client ID>", 
    "ClientIDList": [ "<Firebase Client ID>" ], 
    "ThumbprintList": [ "6040DB92306CC8BCEB31CACAC88D107430B16AFF" ]
}

[1] 点击此处

[2] 点击此处


嗨@ktrace,我也对这个设置(Firebase用于身份验证+ AWS用于服务)感兴趣。您能详细说明在AWS中需要进行的其他配置步骤吗?我已经创建了一个特定的角色,在我的联合身份池中使用它,将我的API网关授权设置为IAM,并将Google idToken发送到我的端点的授权标头,但仍然出现错误。任何见解都将有所帮助。谢谢 - Stf_F
ThumbprintList的值从哪里获取? - Jeremy
有没有特定的原因需要通过CLI而不是通过控制台进行设置? - 89f3a1c

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接