我曾經使用PHP很多,但我從來沒有使用SAML,因爲我從來沒有連接到遠程服務器。我一直在閱讀各種教程,文章和例子,現在我仍然沒有得到任何地方。我已經閱讀了關於:如何使用PHP創建簡單的SAML請求?
- UC Santa Barbra Lecture on SAML
- OneLogin example and guide
- Wiki on SAML
- Rackspace guide on Auth Tokens
- Fiede RnD Example
- Getting started SAML and PHP
但仍然沒有成功。我想當我讀到Onelogin,SimpleSAMLphp和Shibboleth時,我覺得我錯了,因爲我覺得下載和解壓縮大型文件是因爲堆棧將用於服務提供者......在這種情況下,我是身份提供者我認爲這只是簡單地製作一些XML併發送它;並尋找回應。不需要這些大量的代碼,但也許我錯了。
當我看看這個xml的時候,大部分都是有道理的。例如:
<saml:Assertion
Version="2.0"
ID=「_34234se72」
IssueInstant="2005-04-01T16:58:33.173Z">
<saml:Issuer>http://authority.example.com/</saml:Issuer>
<ds:Signature>...</ds:Signature>
<saml:Subject>
<saml:NameID format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">
jygH5F90l
</saml:NameID>
</saml:Subject>
<saml:AuthnStatement
AuthnInstant="2005-04-01T16:57:30.000Z">
<saml:AuthnContext>
<saml:AuthnContextClassRef>
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
</saml:Assertion>
我想我明白髮送「jygH5F901」作爲「填充NameID」但行線骨灰盒的過程:綠洲:名稱:TC:SAML:2.0:AC:類:PasswordProtectedTransport使幾乎沒有感覺到我。有人可以請我指出一個關於如何開始或至少在正確方向上的好指南。
所有我需要做的是:
- 獲取授權令牌
- 交易所授權令牌的訪問令牌。
- 使用該訪問令牌從服務提供商數據庫獲取信息。
任何幫助將不勝感激;我對SAML完全陌生,所以我可能聽起來很愚蠢;但如果任何人都可以將我鏈接到一個詳細的指南或例子來解釋結構,並有更多的複製粘貼友好的工作。我只需要獲得該連接,然後導入數據,然後我可以容易地獲得所有PHP的返回變量。謝謝你的時間;任何努力將不勝感激。
我聽說如果我已經有一個授權令牌,我可以以某種方式使用curl在服務器鏈接上進行HTTP GET調用,並提取返回的XML內容。你有沒有聽說過類似的東西? –
我會推薦使用類似...什麼? – cgajardo
哈哈,對不起,更新 –