You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现AAD B2C与OKTA的集成?将OKTA作为外部身份提供商

AAD B2C 集成 Okta 作为外部身份提供商的实现步骤

一、Okta 端配置

  • 登录 Okta 管理控制台,创建OIDC Web 应用(AAD B2C 基于 OIDC 协议对接外部身份提供商)
  • 设置应用的重定向 URI:https://<你的B2C租户名称>.b2clogin.com/<你的B2C租户名称>.onmicrosoft.com/oauth2/authresp,替换为实际租户名
  • 记录三个关键信息:Okta 应用的客户端ID、客户端密钥,以及 Okta 的 OIDC 元数据端点(格式为 https://<你的Okta域名>/.well-known/openid-configuration)

二、AAD B2C 端添加 Okta 身份提供商

  • 登录 Azure 门户,进入目标 AAD B2C 租户
  • 导航至身份提供商 → 新建 OpenID Connect 提供商
  • 填写配置项:
    • 名称:自定义标识(如“Okta 外部登录”)
    • 元数据 URL:填入 Okta 的 OIDC 元数据端点
    • 客户端 ID:填入 Okta 应用的客户端ID
    • 客户端密钥:填入 Okta 应用的客户端密钥
    • 范围:勾选 openid,按需添加 profile、email 等
    • 响应类型:选择 code
    • 响应模式:选择 form_post
  • 保存配置

三、配置用户流/自定义策略实现登录流程

快速配置:使用用户流

  • 进入 AAD B2C 的用户流,创建或编辑注册或登录类型的用户流
  • 在“身份提供商”环节,勾选刚添加的 Okta 提供商,保存用户流
  • 测试:点击“运行用户流”,选择关联的应用,启动后即可看到 Okta 登录入口

复杂场景:使用自定义策略

  • 下载 AAD B2C 基础自定义策略模板(如 SocialAndLocalAccounts)
  • 在策略的 <ClaimsProviders> 节点中插入 Okta 配置片段:
<ClaimsProvider>
  <Domain>okta.com</Domain>
  <DisplayName>Okta</DisplayName>
  <TechnicalProfiles>
    <TechnicalProfile Id="Okta-OIDC">
      <DisplayName>Okta</DisplayName>
      <Protocol Name="OpenIdConnect" />
      <Metadata>
        <Item Key="METADATA">https://<你的Okta域名>/.well-known/openid-configuration</Item>
        <Item Key="client_id">你的Okta客户端ID</Item>
        <Item Key="response_types">code</Item>
        <Item Key="scope">openid profile email</Item>
        <Item Key="response_mode">form_post</Item>
        <Item Key="HttpBinding">POST</Item>
        <Item Key="UsePolicyInRedirectUri">false</Item>
      </Metadata>
      <CryptographicKeys>
        <Key Id="client_secret" StorageReferenceId="B2C_1A_OktaClientSecret" />
      </CryptographicKeys>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
        <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
        <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name" />
        <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
        <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="okta.com" AlwaysUseDefaultValue="true" />
      </OutputClaims>
      <OutputClaimsTransformations>
        <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
        <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
        <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
      </OutputClaimsTransformations>
      <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
    </TechnicalProfile>
  </TechnicalProfiles>
</ClaimsProvider>
  • 在 AAD B2C 的密钥容器中,添加名为 B2C_1A_OktaClientSecret 的密钥,值为 Okta 应用的客户端密钥
  • 上传更新后的自定义策略,完成后测试策略

四、Azure 托管应用适配(可选)

  • 若应用由 Azure AD 保护,确保身份验证配置允许 AAD B2C 颁发的令牌
  • 自定义应用需验证令牌发行者为你的 B2C 租户,并正确解析来自 Okta 的用户声明

内容的提问来源于stack exchange,提问作者One Developer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 15:30:58