firebase - 使用 Firebase OpenID Connect 提供程序作为 Azure Function App 身份提供程序

标签 firebase azure firebase-authentication azure-functions openid-connect

我有一个 react native 应用程序,它使用 Firebase 处理身份验证。效果很好

该应用程序调用 Azure 中的无服务器函数,我希望通过选择身份提供商来添加身份验证。

Azure Function App Identity Provider Options

我尝试过使用具有以下配置值的 OpenID Connect,但没有成功

元数据网址:https://securetoken.google.com/{my-project-id}/.well-known/openid-configuration

客户端 ID:412-3gp***** *************.apps.googleusercontent.com

客户端密码:取自以下链接

https://console.cloud.google.com/apis/credentials?authuser=1&project={my-project-id}&supportedpurview=project

Firebase OpenId configuration

流程:

  1. 从我的应用中已通过身份验证的 Firebase 用户获取 idToken
  2. 在调用我的 Azure 函数时将该 (jwt)idToken 作为 Bearer 身份验证 header 传递

结果:

401 未经授权的响应 不存在响应正文

预期结果:

200 条回复

有谁知道是否可以使用 Firebase 作为 OpenId 身份提供商,如果可以,我应该从哪里获取正确的 ClientId 和客户端 key 值?

我注意到 Firebase 控制台中有一些值(value),Google 云控制台也有一些值(value)

最佳答案

今天早上我遇到了完全相同的问题,并设法使其正常工作。

我最初做了与您相同的操作,并将客户端 ID 设置为 xxxxxxxx.apps.googleusercontent.com。该客户端 ID 值来自您在上面获取客户端 key 时喜欢的同一页面。这些值仍然会导致 401 错误。

当我将客户端 ID 更改为 Firebase 项目 ID 时,一切都开始按预期工作。

关于firebase - 使用 Firebase OpenID Connect 提供程序作为 Azure Function App 身份提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69506507/

相关文章:

firebase - 如何查看 Cloud Firestore 日志?

azure - 如何使用 Azure Devops 将 azure GIT 存储库文件从一个文件夹移动到另一个文件夹

javascript - 只允许预先验证的用户登录 Firebase

c# - 我可以、如何向 Azure Function 提供设置文件?

azure - 使用 certreq 的 CRYPT_E_NOT_FOUND 问题

android - 无法在 Android 中创建 Firebase 用户

firebase - Flutter Firebase Auth 返回null,然后返回正确的值

firebase - 获取 Firebase 中的节点创建时间

javascript - Firebase JavaScript 子级比较

node.js - 如何在 PC 上本地测试 Cloud Functions for Firebase