在 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 AD B2C 容易受到开放重定向的影响?

使用 Azure b2c OpenID Connect 配置 Ckan 的身份验证

Azure AD B2C:注销社交帐户(使用 OIDC 的 Azure AD)

Liferay 7.4 OpenID Connect 作为 Azure B2C 的 SP

Azure AD 与 Azure AD B2C 与 Azure AD B2B