2015-12-14 91 views
0

我不確定,但可以將AuthnStatement中的entityId傳遞給Shibboleth SP嗎?我已經在發送uid來響應AuthnStatement。如何將Sp entityId從Idp傳遞給Shibboleth Sp?

假設請求來自具有entityId的SP的Idp,如https://sp.example.com/Shibboleth。認證後,Idp應將uid以及entityId發佈到SP。

讓我知道這是可能的還是有任何方法來獲取IdP attribute-resolver.xml文件中的entityId屬性。

在此先感謝。

+0

爲什麼你需要那個?你的SP不知道它自己的實體嗎? – Akshay

+0

我正在尋找一些東西: 1.基於Sp entityId,我需要打DB去使用RDBMS DataConnector在IdP端獲取一些值。所以,我不知道如何在attribute_resolver.xml文件中獲取這個值。我相信這一定已經存在於一些變量中,只是我不知道如何獲取它, 2.我想通過SP以及Idp entityId作爲CustomAttribute。 – Waheed

+0

爲什麼你不使用你的主機/域名獲得這些東西。你無論如何映射你的主機與一些idp。您始終可以在您的服務器端代碼中使用密鑰作爲主機和值作爲您想要的實體ID進行映射。並檢查主機是非常容易的。即'request.getHeader(「host」)' - symbolik – Akshay

回答

0

現在,我知道答案並更新它,以便它可以幫助其他人。

我們不必擔心SP Side的Idp URL,因爲一旦Shibboleth會話建立,它會將所有信息(如Shibboleth Idp,Authnmethod和其他發佈的參數)存儲到會話中。

一旦你打你的受保護的資源,它將所有這些屬性設置爲標題,並可以很容易地在您的應用程序中獲取。

如:獲得IDP URL

request.getHeader("Shib-Identity-Provider") 

檢查here爲標題的列表。