如何在Azure Active Directory中配置Okta作为IDP并支持外部用户登录?
在Azure AD中配置Okta作为身份提供商,支持外部用户通过Azure登录页验证
一、前期准备
- 拥有Azure AD全局管理员权限
- 拥有Okta管理员权限
- 已在Azure AD中注册好目标应用程序
二、先在Okta里配置Azure AD为服务提供商
- 登录Okta管理控制台,进入「Applications」>「Applications」
- 点击「Create App Integration」,选「SAML 2.0」后点「Next」
- 填个应用名称(比如“Azure外部用户登录”),可选上传logo,点「Next」
- 在「SAML Settings」里填这些内容:
- Single sign on URL:输入
https://login.microsoftonline.com/<你的Azure AD租户ID>/saml2(替换成自己的租户ID) - Audience URI (SP Entity ID):填
urn:federation:MicrosoftOnline - Name ID format:选「EmailAddress」
- Application username:选「Email」
- Single sign on URL:输入
- 点「Next」,选「This is an internal app that we have created」,再点「Finish」
- 进入应用的「Sign On」标签页,点「View SAML Setup Instructions」,保存以下三个信息:
- IDP Entity ID
- IDP Single Sign-On URL
- X.509证书(下载PEM格式文件)
三、在Azure AD里添加Okta作为身份提供商
- 登录Azure门户,进入「Azure Active Directory」>「External Identities」>「All identity providers」
- 点「Add provider」,选「SAML」后点「Next」
- 在「Basics」标签页:
- Name:填“Okta”(用户登录时会看到这个选项)
- 选「Enter metadata manually」,然后填写:
- Identifier (Entity ID):粘贴从Okta拿到的IDP Entity ID
- Single sign-on URL:粘贴从Okta拿到的IDP Single Sign-On URL
- Signing certificate:上传刚才从Okta下载的PEM证书
- 点「Save」完成添加
四、给目标应用配置Okta登录支持
- 转到Azure AD的「Enterprise applications」,找到你的目标应用
- 进入「Single sign-on」,选「SAML」(之前不是的话切换过来)
- 点「Edit」修改「Basic SAML Configuration」,确保应用的Reply URL和Identifier是应用的正确地址
- 到「User Attributes & Claims」部分,把Okta返回的
email映射到http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress,保证用户信息同步正确 - 进入应用的「Properties」,把「User assignment required?」设为「No」,允许外部用户访问
- 再去「External Identities」>「External collaboration settings」,把「Guest user access restrictions」设为最宽松选项(比如「Guest users have the same access as members (most inclusive)」),确保外部用户能正常登录
五、测试登录流程
- 用Okta中的外部用户账号访问应用登录地址
- 在Azure登录页,选「使用其他账户登录」,然后点击配置好的「Okta」选项
- 跳转到Okta登录页后,输入用户账号密码
- 验证通过后自动跳回应用,完成登录
内容的提问来源于stack exchange,提问作者siva
相关产品推荐
相关产品推荐

