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

如何实现外部组织用户通过Okta OIDC使用自有凭证SSO登录?

实现外部组织用户通过Okta SSO登录OIDC Web应用的步骤

一、建立外部身份提供商(IDP)信任

核心是让你的Okta信任外部组织的身份系统,分两种场景处理:

场景1:外部组织使用Okta作为IDP

  • 登录你的Okta控制台,进入Security > Identity Providers,点击「Add Identity Provider」
  • 选择「Okta」类型,填写外部Okta组织的域名(如external-org.okta.com),设置IDP的名称和显示标识(方便用户识别)
  • 复制页面生成的ACS URL和Audience URI,提供给外部Okta管理员,让他们在自己的Okta中创建SAML应用并填入这两个值
  • 从外部Okta获取他们的IDP元数据URL或XML文件,导入到你的Okta的该IDP配置中,完成信任对接

场景2:外部组织使用其他OIDC兼容IDP

  • 进入Security > Identity Providers,点击「Add Identity Provider」,选择「OpenID Connect」类型
  • 填写外部IDP的Issuer URI、Client ID、Client Secret(需由外部IDP管理员提供)
  • 配置授权范围(建议包含openid email profile)和响应类型为code,保存完成信任配置

二、调整OIDC应用的访问权限

  • 进入你的OIDC Web应用配置页,切换到Assignments标签
  • 点击「Assign > Assign to Groups」,创建专门用于外部用户的组(如External App Users),通过该组控制应用访问权限
  • 切换到Sign On标签,编辑Sign-on Policy:添加新规则,设置条件为「User is coming from an external identity provider」,动作为「Allow access」

三、优化登录体验与路由

  • 进入Customizations > Branding > Login,编辑组织登录页面,开启「Show identity provider buttons」,让用户登录时可选择外部IDP入口
  • (可选)在你的Web应用登录跳转URL中添加idp参数,直接引导用户到指定外部IDP登录,示例URL:
    https://your-okta-domain.okta.com/oauth2/v1/authorize?client_id=YOUR_CLIENT_ID&response_type=code&scope=openid&redirect_uri=YOUR_REDIRECT_URI&state=STATE&nonce=NONCE&idp=EXTERNAL_IDP_ID
    
    其中EXTERNAL_IDP_ID是你在第一步创建的外部IDP的唯一标识ID

四、配置用户属性映射与自动创建

  • 在外部IDP的配置页面,切换到Attribute Statements(SAML)或Claims(OIDC)标签
  • 配置属性映射规则,将外部IDP的用户属性(如邮箱、姓名)对应到你的Okta用户属性(如email、displayName)
  • 启用Just-In-Time (JIT) Provisioning:在外部IDP配置中开启JIT,首次登录的外部用户会自动在你的Okta中创建对应账户,无需手动预分配

五、测试验证

  • 邀请外部组织的用户访问你的Web应用登录入口
  • 用户选择对应的外部IDP登录按钮,跳转至外部组织的身份验证页面,输入自身凭证
  • 验证成功后,自动跳转回你的Web应用,完成SSO登录

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 09:42:41