像https://www.google.com/accounts/o8/id和https://me.yahoo.com他們給我的終點(https://www.google.com/accounts/o8/ud谷歌和https://open.login.yahooapis.com/openid/op/auth雅虎) 所以我的問題是我可以跳過這個我只是使用端點?爲什麼我們需要OpenID中的發現URL
6
A
回答
7
對於OpenID協議的initiation and discovery階段,用戶可以傳遞URI或XRI。如果給出URI,則必須遵循YADIS protocol來查找服務端點。
如果給定的URL與端點不同,那麼URL變成'聲明的標識符',並且OpenID提供者也可以提供'OP本地標識符'。用戶在啓動協議時不需要指定端點URL。因此這一步不應該被跳過。
作爲發現階段的一部分,還可能會發現各種OpenID擴展,這可能對您的應用程序有所幫助。
The OpenID protocol is documented pretty well.
然而,沒有任何理由,你爲什麼不能緩存發現的結果。雖然你可以編寫代碼跳過發現階段,如果雅虎!或Google端點URL,則緩存是一種更廣泛的解決方案,如果可用的擴展已更改,緩存不會中斷。
相關問題
- 1. IdentityServer4爲什麼我們需要發現端點
- 2. 爲什麼我們需要jsr286中的公共呈現參數
- 3. 爲什麼我們需要.htaccess的worpdress?
- 4. 爲什麼我們需要在ImagePickerController中實現UiNavigationcontroller委託iphone
- 5. DavLockDB:我們需要什麼?
- 6. 爲什麼我們需要simple_one_for_one?
- 7. 爲什麼我們需要TensorFlow tf.Graph?
- 8. 爲什麼我們需要使用prompt.start()?
- 9. 爲什麼我們需要scalaz.stream迭代?
- 10. 爲什麼我們需要WCF
- 11. 爲什麼我們需要Anaconda 2.7?
- 12. 爲什麼我們需要編寫log.isDebugEnabled?
- 13. 爲什麼我們需要ng-click?
- 14. 爲什麼我們需要Control.Lens.Reified?
- 15. 我們爲什麼需要纖維
- 16. 爲什麼我們需要org.junit.ComparisonFailure?
- 17. 爲什麼我們需要addRequestHeader方法?
- 18. 爲什麼我們需要時代?
- 19. 爲什麼我們需要ContinueWith方法?
- 20. 爲什麼我們需要Java NIO Selector?
- 21. 爲什麼我們需要使用ExitWindowsEx
- 22. 爲什麼我們需要包裝類
- 23. 爲什麼我們需要在JavaScript
- 24. 爲什麼我們需要設置SONAR_RUNNER_OPTS?
- 25. 爲什麼我們需要ioc容器
- 26. mongodb爲什麼我們需要getSisterDB
- 27. 爲什麼我們需要BeginGetResponse和BeginRead?
- 28. 爲什麼我們需要fieldset標籤?
- 29. 爲什麼我們需要boost :: thread_specific_ptr?
- 30. JSP:爲什麼我們需要RequestDispatcher?