single-sign-on - 以 G Suite 作为 SAML 身份提供者的 Office365/Azure AD

标签 single-sign-on azure-active-directory saml-2.0 google-apps-for-education google-workspace

我正在尝试关注文章 https://msdn.microsoft.com/en-us/library/azure/dn641269.aspx https://support.google.com/a/answer/6363817?hl=en

域名 school.edu

当我打开隐私浏览窗口并转到 login.microsoftonline.com 并在我的域中指定一个用户时,我按预期被重定向到 Google 以获取登录名和密码。但是,在输入有效凭据后,我被重定向到 Microsoft 登录页面并显示错误

我收到错误 附加技术信息: 关联 ID:[已编辑,不确定这是否是敏感 ID] 时间戳:2017-05-11 19:15:31Z AADSTS50107:请求的联合领域对象'https://accounts.google.com/o/saml2?idpid= [id]' 不存在。

此处列出的 URL 在直接访问时返回 404,但是 https://accounts.google.com/o/saml2/idp?idpid= [id] 可以直接访问(尽管对于格式错误的 SAML 请求会出错)。我通过 powershell 将 idp?idpid=[id] 指定为 LogOnUri,但它似乎并没有从那里的那个值中提取。

我不确定如何从这里开始,除了向 Microsoft 开票(上次我们通过不同方式尝试 SSO 时,他们无法提供帮助,大概是一年前)。

最佳答案

在 Office365 中创建用户后,需要设置其不可变 IT。它应该与他们的 Google 用户主电子邮件地址相匹配,该地址也应该是他们的 MS 用户名。

启动Powershell

Import-Module MSOnline
$Msolcred = Get-Credential
Connect-MsolService -Credential $MsolCred
set-msoluser -userprincipalname USERNAME -ImmutableId SAME USERNAME

按照此过程进行一些修改。

这让它对我有用。 ImmutableID 是问题所在,通常由 AzureAD Connect 服务处理,如果您不运行本地 AD 基础设施,该服务将不存在。

关于single-sign-on - 以 G Suite 作为 SAML 身份提供者的 Office365/Azure AD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43939295/

相关文章:

java - 如何在基于 Java 的自定义 Web 服务器中集成 Windows 身份验证 (SSO)?

api - Okta API 入门错误设置证书类型 |获取用户应用程序 api 调用

javascript - Kentor SAML2 授权问题

Apache Shiro 和 SSO

c# - MSAL - PublicClientApplication - GetAccountsAsync() 不返回任何帐户

security - OpenID Connect - 在这种情况下是否应该将 id token 发送到 protected 资源?

.net - 基于组和基于角色的授权之间的 azure 广告差异

c# - "Doesn' 尝试连接到域时没有访问域所需的权限

asp.net-mvc - Azure Active Directory 和单点登录的访问 token

java - 使用 Spring Security 定义 HTTP 路由以仅服务于 "internal"请求