【发布时间】:2017-12-26 15:00:53
【问题描述】:
我对 SAML 及其通过 Shibboleth 的实施有很多疑问。我已经做了相当多的研究,我想澄清一些事情。我有一个与我们的服务器通信的移动应用程序。我们的一个企业客户,我们称他们为 StackOverflow 大学,希望使用 Shibboleth(或者我应该说 SAML?)为我们的系统提供 SSO。他们已经向我们发送了所有学生的电子邮件地址和基本个人资料信息。使用 OAuth2,我们确切地知道如何提供 SSO,但是,使用 SAML,我们无法围绕 IDP、SP、AuthnRequest、元数据等。
我们的假设。
- IDP = StackOverflow 大学
- SP = 我们的应用程序
我们的客户要求我们提供以下信息
请让我知道下一步。我至少需要以下信息来配置我们这边: - 您的服务提供商实体 ID - 您的服务提供商元数据(如果您不是 InCommon 的成员) - 我们应该在 SAML 断言中发送给您的属性列表
我们不是 InCommon 的成员。
接近 一名学生下载我们的移动应用程序。他们选择他们的机构(StackOverflow 大学)。调用我们的服务器以检索具有 SAML 必要信息的 SSO 配置。
- 移动客户端打开一个 web 视图并导航到一个特定的 web 地址。该网址将创建一个登录屏幕。我们如何配置请求以使用以下这些 url 和 AuthnRequest 之一?
<ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding" Location="https://webauth.xxx.edu:8443/idp/profile/SAML1/SOAP/ArtifactResolution" index="1"/>
<ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://webauth.xxx.edu:8443/idp/profile/SAML2/SOAP/ArtifactResolution" index="2"/>
<SingleSignOnService Binding="urn:mace:shibboleth:1.0:profiles:AuthnRequest" Location="https://webauth.xxx.edu/idp/profile/Shibboleth/SSO"/>
<SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://webauth.xxx.edu/idp/profile/SAML2/POST/SSO"/>
<SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://webauth.xxx.edu/idp/profile/SAML2/Redirect/SSO"/>
<SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" Location="https://webauth.xxx.edu/idp/profile/SAML2/POST-SimpleSign/SSO"/>
- 用户输入他们的凭据
- 发生了我不明白的事情。
- 我们的服务器如何接收声明、创建令牌以及客户端使用该令牌与我们的系统进行通信。
鉴于我们的知识差距,有人可以帮助解释这个过程吗?
【问题讨论】:
标签: mobile single-sign-on saml saml-2.0 shibboleth