在 Azure AD B2C 中用作 OpenID IDP 提供程序时的 Okta 重定向 URI
Posted
技术标签:
【中文标题】在 Azure AD B2C 中用作 OpenID IDP 提供程序时的 Okta 重定向 URI【英文标题】:Okta redirect URI when used as OpenID IDP provider in Azure AD B2C 【发布时间】:2021-11-09 17:59:41 【问题描述】:我正在尝试在我的 Azure AD B2C 租户中将 Okta 设置为 OpenID Connect 提供程序。我的配置出了点问题。当我测试 B2C 用户流时它会抛出一个错误:
Error Code: invalid_request
Description: The 'redirect_uri' parameter must be a Login redirect URI in the client app
这是我遵循的步骤
奥克塔
创建应用程序 OpenID Connect 应用程序 将用户分配给此应用程序 记下客户端 ID 和密码 基于this documentation,我将登录重定向URI设置为https://B2CTenantName.b2clogin.com/B2C 租户 ID/oauth2/authresp https://colinwurtzb2c.b2clogin.com/eb178344-61bd-4822-95cf-7a251aaba527/oauth2/authresp
天蓝色
创建一个新的应用注册并将重定向URI设置为http://localhost:3000
添加了新的 OpenID Connect 提供程序
使用 Okta 提供的客户端 ID、元数据 URL 和客户端密码填写此表单
创建了一个名为 B2C_1_SignInOkta 的用户流
将新添加的 OpenID Connect Okta 提供程序分配给此用户流。
尝试运行用户流,但它立即重定向到 Okta,并出现上述错误。
【问题讨论】:
【参考方案1】:我认为您需要保持使用的 URL 模式/租户标识符保持一致。如果您使用https://colinwurtzb2c.b2clogin.com/eb178344-61bd-4822-95cf-7a251aaba527/oauth2/authresp(使用租户 ID)设置 Okta 应用程序,那么您还需要使用租户 ID 打开您的用户流。您的屏幕显示带有租户名称的默认 Azure 门户选项,因此 URL 以 https://colinwurtzb2c.b2clogin.com/colinwurtzb2c.onmicrosoft.com/(...) 开头。 我的猜测是,在这种情况下,AAD B2C 使用 https://colinwurtzb2c.b2clogin.com/colinwurtzb2c.onmicrosoft.com/oauth2/authresp 向 Okta 发出请求,这与您设置的不同,因此会出现错误。 因此,要么使用包含租户名称的 URL 设置 Okta,要么在运行 AAD B2C 用户流时使用租户 ID。
【讨论】:
谢谢 - 就是这样。一旦我通过了该错误,还必须进行一些其他调整。【参考方案2】:除了与链接保持一致之外,我还必须在自定义 IDP 屏幕中添加一些范围,并在声明映射部分将 email
映射到 User ID
。
【讨论】:
以上是关于在 Azure AD B2C 中用作 OpenID IDP 提供程序时的 Okta 重定向 URI的主要内容,如果未能解决你的问题,请参考以下文章
Azure AD B2C OpenID使用WS-Federation和SAML声明提供程序连接单一注销
使用 Azure b2c OpenID Connect 配置 Ckan 的身份验证
Azure AD B2C:注销社交帐户(使用 OIDC 的 Azure AD)