Azure AD B2C 错误:请求中指定的客户端 ID 未在租户中注册

aBl*_*aze 5 oauth-2.0 azure-ad-b2c microsoft-graph-api

我正在尝试登录 Azure Active Directory B2C 应用程序。

每当我访问 URL 时https://login.microsoftonline.com/te/<my_domain>/<my_sign_up_sign_in_policy_name>/oauth2/v2.0/authorize?client_id=<my_client_id>...,都会出现以下错误:

<my_client_id>请求中指定的客户端 ID未在租户中注册<my_tenant_name>。

以下是有关我的配置的一些信息:

  • 在 中https://portal.azure.com,我创建了包含用户的 Azure Active Directory B2C 租户globaladmin@<my_domain>.onmicrosoft.com

    • 为了创建应用程序,我导航到https://apps.dev.microsoft.com,以全局管理员身份登录并按照此处的说明创建了“Web Portal v2”应用程序
  • 我授予了 Web Portal v2 对 Microsoft Graph 的访问权限,但未授予对 Azure AD Windows Graph API 的访问权限(我在任何地方都没有看到此选项) 在此处输入图片说明

  • 我可以成功导航到https://portal.azure.com-> 查找 Azure AD B2C 资源 -> 点击进入 -> 应用程序。还有新创建的“Web Portal v2”

在此处输入图片说明

我的应用程序已更新为“Web Portal v2”的新 ClientId 和 ClientSecret。但是,当我启动应用程序并单击“登录”时,出现错误。我还缺少什么其他配置?

此外,我应该补充一点,上述所有配置的原因是我可以将我的应用程序从使用 Azure AD V1 令牌迁移到 Azure AD V2 令牌,其中包含诸如 的信息User.Identity.Name,这是我用来显示的值应用程序右上角的当前登录用户名。如果有不同/更好的方法来实现这一点,请告诉我。

Chr*_*ett 5

该https://login.microsoftonline.com/te/<tenant_id>/<policy_id>/oauth2/v2.0/authorize?client_id=<client_id>...网址是正确的,但你不应该创建使用Azure的AD B2C应用程序的应用程序注册门户网站,否则就成了有故障的应用程序,然后您会收到The client id ... specified in the request is not registered in tenant ...错误。

应使用Azure 门户的 Azure AD B2C 刀片创建 Azure AD B2C 应用程序。


eri*_*753 5

我认为这样做的原因是当您通过 AD 刀片(或图形 API)创建应用程序时,未预先配置 API 权限。解决方法是在应用中添加API权限:

Api 权限默认 B2C

刚刚完成了自动化这个过程后,我可以告诉你必须配置四个层才能使用 Graph API(注意:使用 beta 端点)。

  1. 创建应用程序https://docs.microsoft.com/en-us/graph/api/application-post-applications?view=graph-rest-beta&tabs=http

  2. 更新应用程序属性https://docs.microsoft.com/en-us/graph/api/application-update?view=graph-rest-beta&tabs=http 一个。requiredResourceAccess https://docs.microsoft.com/en-us/graph/api/resources/requiredresourceaccess?view=graph-rest-beta b. 任何其他属性,如implicitGrantSettings、logoutUrl 等

  3. 为刚刚创建的应用程序创建服务主体:https : //docs.microsoft.com/en-us/graph/api/serviceprincipal-post-serviceprincipals?view=graph-rest-beta&tabs=http

  4. 使用服务主体的对象 ID 创建 oauth2PermissionGrants:https ://docs.microsoft.com/en-us/graph/api/oauth2permissiongrant-post?view=graph-rest-beta&tabs =http