2017-07-20 51 views
2

我有許多關於SAML的問題,它通過Shibboleth執行。我做了大量的研究,我想澄清一些事情。我有一個與我們的服務器通信的移動應用程序。我們的企業客戶可以稱他們爲StackOverflow大學,他們希望使用Shibboleth向我們的系統提供SSO(或者我應該說SAML?)。他們已經向我們發送了所有學生的電子郵件地址和基本簡介信息。使用OAuth2,我們確切地知道如何提供SSO,但是,對於SAML,我們無法圍繞IDP,SP,AuthnRequest,元數據等進行包裝。Saml SSO與移動客戶端

我們的假設。

  • IDP = StackOverflow上大學
  • SP =我們的應用

我們的客戶要求我們提供以下信息

請讓我知道下一步。我需要至少以下信息來配置我們的方面: - 您的服務提供商實體ID - 您的服務提供商元數據(如果您不是InCommon的成員) - 我們應該向SAML斷言發送給您的屬性列表

我們不是InCommon的會員。

方法 學生下載我們的移動應用程序。他們選擇他們的機構(StackOverflow大學)。我們的服務器進行調用以檢索具有SAML必要信息的SSO配置。

  1. 移動客戶端打開網頁視圖並導航到一個特定的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"/>

  • 用戶輸入他們的憑證
  • 事情發生,我不理解。
  • 一些我們的服務器如何接收聲明,創建令牌,客戶端使用它來與我們的系統進行通信。
  • 鑑於我們的知識存在差距,有人可以幫助解釋過程嗎?

    回答

    0

    客戶端,你需要一個SAML stack

    這將爲您實施所有管道。大多數產生元數據你把這個發送給你的IDP。這有他們要求的entityID等。

    客戶端,您將登錄屏幕連接到堆棧。

    您可以使用IDP元數據地址來配置您的堆棧以獲取其元數據。

    用戶單擊登錄,堆棧發送AuthnRequest,IDP顯示登錄屏幕,用戶進行身份驗證,您將找回包含IDP已配置爲返回的斷言(聲明)的SAML令牌。