2017-05-29 34 views
0

我想在我的項目中實現openid連接。現在我很難編碼發現網址 - 谷歌 - https://accounts.google.com/.well-known/openid-configuration,相同的其他來源,然後進行此調用,並獲得所有各自的來源的端點。 但我想讓它充滿活力。我在openid.net上發現了一些東西如何動態發現端點

GET /.well-known/webfinger 
    ?resource=acct%3Ajoe%40example.com 
    &rel=http%3A%2F%2Fopenid.net%2Fspecs%2Fconnect%2F1.0%2Fissuer 
    HTTP/1.1 
    Host: example.com 

    HTTP/1.1 200 OK 
    Content-Type: application/jrd+json 

    { 
    "subject": "acct:[email protected]", 
    "links": 
    [ 
    { 
     "rel": "http://openid.net/specs/connect/1.0/issuer", 
     "href": "https://server.example.com" 
    } 
    ] 
    } 

我該怎麼做這個調用。我應該放入什麼資源?我是oauth過程的初學者。你可以幫我解決問題嗎?

回答

1

很少有主要的IdPs支持動態註冊。他們似乎都希望您在可以同意其使用條款的網頁上註冊。

mojeid.cz是我知道的一個。如果你找到我想知道的其他人。

我正在編寫動態客戶端。這很難。我打算在某些時候在GitHub上發佈它。 ..tom

0

嚴格地說,動態註冊並不一定與發現一對一,儘管通常情況下是這樣。

作爲OP所暗示的,人們可以通過施加的WebFinger發現查找服務提供的元數據中所描述:http://openid.net/specs/openid-connect-discovery-1_0.html#URLSyntax的RP可以解析「hreft:http://openid.net/specs/openid-connect-discovery-1_0.html#IssuerDiscovery

請求和響應將如下中的問題,即已經出現發行者‘值(即,唯一的DNS開往提供商標識符),然後構建衆所周知的終點,當提供的配置元數據可從在此描述中檢索「防止可能呈現的響應值’:http://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfig

假設RP已經有一個client_id/client_secret在以前的出界步驟中與該提供者建立起來,這可以避免RP必須存儲和/或緩存提供者的元數據。