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

时间:2017-05-15 21:23:33

标签: amazon-web-services firebase amazon-iam openid-connect

使用OpenID Connect将Firebase设置为AWS IAM身份提供程序时出现以下错误。

  

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

AWS IAM身份提供商设置需要两个输入参数,我插入以下内容:
提供商网址:https://securetoken.google.com/ <Firebase Project ID&gt;
观众:<Firebase Client ID&gt;

要解决此错误,我在浏览器中打开了http:// <Provider URL&gt; /。熟知/ openid-configuration,并注意到JSON响应包含 Issuer 和< em> jwks_uri 字段。我相信这些JSON字段表明Firebase OpenID Connect Provider URL有效。

知道如何避免上述错误并成功设置AWS IAM身份提供商吗?

1 个答案:

答案 0 :(得分:6)

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

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

我在下面粘贴了Shaun回复的相关部分: 1.)使用此处描述的程序手动获取并验证指纹[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相同。

文件内容://oidc.json :(替换为您的项目ID)

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

[1] http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc_verify-thumbprint.html

[2] http://docs.aws.amazon.com/cli/latest/reference/iam/create-open-id-connect-provider.html