0

我正在尝试将 Azure AD B2C 作为 OpenID Connect 集成到 PlayFab 以支持 AD 用户登录 PlayFab,以下是我尝试过的步骤-

Azure AD B2C

  • B2C下注册客户端应用
  • 创建注册和登录用户流程
  • 在用户流下添加了 Google 和 Facebook 作为身份提供者。
  • 能够使用 Google 和 Facebook 成功登录用户。

PlayFab 配置

  • 创建游戏名称

  • 使用 LoginWithCustomID、LoginWithFacebook 成功添加登录玩家。

PlayFab 中的 OpenId 连接配置:

  • 在 OpenId Connect 下,我添加了 Connection ID、Client ID、Client Secret 和 Issuer。
  • 在发行人下,我添加了条目为https://{tenant-name}.b2clogin.com/{tenant-name}.onmicrosoft.com/b2c_1_signupsignin/v2.0

问题:

当我尝试从 PlayFab 中访问 LinkOpenIdConnect API 时,API 返回打击错误-

{
    "code": 403,
    "status": "Forbidden",
    "error": "NotAuthorized",
    "errorCode": 1089,
    "errorMessage": "IDX20803: Unable to obtain configuration from: 'https://{tenant-name}.b2clogin.com/{tenant-id}/v2.0/.well-known/openid-configuration'."
}

谁能帮我在哪里做错了?先感谢您。

4

1 回答 1

1

请检查以下是否可以解决。

请确保 API 服务器上的授权设置为指向其中一个策略的 URL,以便可以在 openid 配置中正确获取它。

确保策略设置将颁发者 URL 格式设置为在颁发者 URL 中不包含特定策略的格式。并在门户中提供通用发行者 url,如下所示

https:///tfp//v2/

(或者)

政策特定发行人:

https://domain/tfp//b2c_1_policy/v2/

权威之类的https://<tenantname>.b2clogin.com/tfp/{tenantName}.onmicrosoft.com/B2C_1_{signup_policy}/v2.0/ "

或者

https://<tenantname>.b2clogin.com/tfp/TenantId /B2C_1_{signup_policy}/v2.0/

/tfp 是可选的,但尝试通过添加 tfp 来包含和检查其中实例是“https://XXXX.b2clogin.com/tfp/”,域是“XXXX.onmicrosoft.com”

颁发者 (iss) 声明是一个属性,用于标识颁发令牌的 Azure AD B2C 租户。

默认值为,https://<domain>/{B2C tenant GUID}/v2.0/. 而 的值https://<domain>/tfp/{B2C tenant GUID}/{Policy ID}/v2.0/ 包括 Azure AD B2C 租户和令牌请求中使用的用户流的 ID

参考

于 2022-02-15T10:02:34.730 回答