【发布时间】:2021-03-10 23:57:07
【问题描述】:
我想使用 firebase auth 来保护我的 AWS AppSync graphql api,而不是像 Cognito 这样的东西。这背后有几个原因,比如定价以及我们已经在使用其他一些 Firebase 服务。
我能看到 atm 的唯一可行解决方案是以某种方式将 firebase 用户令牌传递给我的 AppSync graphql api 并通过 OpenID Conneect / OIDC 对其进行验证。
我无法弄清楚这一点,也找不到关于该主题的任何指南,所以想在这里询问是否有可能,如果可以,是否可以提供任何示例或可能有用的完整参考资料?
以下是 OpenID 连接数据方面需要提供给 AppSync 的相关字段https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-appsync.OpenIdConnectConfig.html
这些是否存在用于 Firebase 身份验证?
更新:我找到了一些关于 firebase 令牌验证的文档https://firebase.google.com/docs/auth/admin/verify-id-tokens#verify_id_tokens_using_a_third-party_jwt_library
我相信以下 URL 是需要在 AppSync https://www.googleapis.com/robot/v1/metadata/x509/securetoken@system.gserviceaccount.com 中用作 OpenID url 设置的内容@
但是 AppSync 文档指出他们将 /.well-known/openid-configuration 附加到此类 url,当我对上面的 googleapis url 执行此操作时,它会抛出 404。
【问题讨论】:
-
Firebase 作为 OpenID Connect 提供者 - 发行者是
https://securetoken.google.com/<Firebase projectId>。这就是 AppSync 想要的 URL。 -
@identigral 太棒了!您是否愿意将此作为答案提供更多细节,以便将来对其他人有用,以便我可以奖励您?
标签: amazon-web-services firebase firebase-authentication openid-connect aws-appsync