在 Azure API 管理开发门户上使用 B2C 时发生服务器错误

问题描述 投票:0回答:1

我想添加通过任何 Microsoft 帐户类型(个人或公司、工作...)登录或注册我的 APIM 开发人员门户的功能。

我已从入门包上传了 SocialAndLocalAccounts 自定义策略(删除了 Facebook 提供商并添加了 AADCommon-OpenIdConnect) - 我已在下面附加了这些文件。

我在尝试通过本地或 Microsoft 帐户注册时遇到错误。

让我们尝试看看 Microsoft 帐户(多租户)

  1. 单击“多租户添加”按钮 enter image description here

  2. 填写电子邮件和密码后,您将被重定向到 webPortal.com/signup-oauth#provider=AadB2C&token=eyJhbGciOiJSUzI1NiIsImtpZ... enter image description here

  3. 看起来,一切都很好,除了我们失去了会话,当我们按下“注册”按钮时,我们得到一个异常: enter image description here

  4. JWT 令牌 enter image description here

当我尝试通过本地帐户注册时,我会遇到类似的行为,但第一步 - 使用在 b2c 租户中创建的用户进行记录,然后我们可以通过登录名和密码登录:

  1. 当我填写电子邮件和密码并确认电子邮件地址时,出现此错误,以及“/identity”的 401 错误代码和“/users”端点的 403 错误代码。

    • 对用户和身份的请求有一个标头:授权:AadB2C id_token =“eyJhbGciOiJSUzI1NiIsImtpZC......” enter image description here
  2. 当我尝试再次单击“Microsoft 帐户”时 - 服务器将我重定向到这一页面: enter image description here

  3. 本地账户的jwt是这样的: enter image description here

因此,Azure Active Directory B2C 租户具有:

  • 应用程序注册 - apimb2cdemo 带有密码,我已将其设置为 APIM 身份(任何身份提供商或组织中的帐户) 目录(用于通过用户流对用户进行身份验证))
  • 入门包中的 SocialAndLocalAccounts 自定义策略(附件)
  • 应用程序注册 - ProxyIdentityExperienceFramework - 应用程序(帐户 仅在此组织目录中(仅限租户 - 单个租户))
  • 应用程序注册 - IdentityExperienceFramework - 应用程序(帐户位于 仅此组织目录(仅限租户 - 单个租户))
  • 应用程序注册 - webapp1 - 应用程序(仅用于测试 - jwt.ms) (任何身份提供商或组织目录中的帐户(用于通过用户流对用户进行身份验证))

APIM 开发者门户租户拥有:

  • 应用程序注册 - 我拥有的带有密码的 Azure AD B2C 应用程序 在 TrustFrameworkExtensions 中设置为我的 ClaimsProvider
  • APIM 开发者门户菜单中的新身份提供商

  • Azure Active Directory B2C - 引用带有 id 的 apimb2cdemo 应用程序 以及密钥、自定义策略名称和客户端库 - MSAL。

对于此任务,我正在使用这些教程:

https://learn.microsoft.com/en-us/azure/active-directory-b2c/tutorial-create-user-flows?pivots=b2c-custom-policy(从 1 到 3 个教程)

https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-aad-b2c

https://learn.microsoft.com/en-us/azure/active-directory-b2c/identity-provider-azure-ad-multi-tenant?pivots=b2c-custom-policy

在这里我留下了我正在使用的自定义策略 - https://drive.google.com/drive/folders/1F1uBgF1R96dTUVziNOrw2WTH6dd_xCUH?usp=sharing

我不知道发生了什么以及为什么我会遇到这些问题,您能帮助我解决这个问题吗?

我期待任何想法和解决方案。

提前谢谢您!

azure-ad-b2c azure-api-management apim
1个回答
0
投票

我很高兴通知您我已经解决了这个问题。

就我而言: 我已更改为 ADAL 库并错过了索赔 (oid)。

© www.soinside.com 2019 - 2024. All rights reserved.