我知道這是之前發佈的,但從未真正回答過,我正在使用DotNetOpenAuth嘗試並執行GoogleID登錄,並且每次我都會這樣做details = OResponse.GetExtension<ClaimsResponse>();
我總是總是返回null ,如果我無法取回任何信息,我不明白GoogleID的意義,我想至少我會得到一個電子郵件地址,所以我可以將其他登錄信息與我的數據庫相關聯。我只是不明白可以真的使用一些幫助,我可能只是在錯誤的方式看待openID。我正在使用ASP.NET,並希望使用openID/Facebook作爲登錄用戶的唯一方式,我真的不想惹惱成員角色或ASP.NET喜歡添加的額外垃圾。DotNetOpenAuth我需要一些幫助
1
A
回答
0
是的,這已被詢問並回答了很多次。谷歌確實支持AX。但它會忽略標記爲「可選」的任何屬性。所以如果你想要電子郵件地址,你必須說這個電子郵件地址是一個必需的屬性。
您正在檢查的ClaimsResponse
擴展名不是AX--它是簡單註冊。但是,如果您打開了AXFetchAsSregTransform行爲(強烈推薦),那麼它只允許您僅使用ClaimsRequest
和ClaimsResponse
,DotNetOpenAuth將自動爲您在AX幕後翻譯。
或者,您可以使用FetchReqest
和FetchResponse
直接向Google講AX。
但是(我不能錘得這個夠硬),不要使用電子郵件地址作爲用戶的唯一標識符!而是使用IAuthenticationResponse.ClaimedIdentifier
字符串作爲唯一標識符。通常應將電子郵件地址視爲可用於預填註冊表單的有用提示。你甚至不應該相信你得到的電子郵件地址實際上是在用戶的控制之下(這就是爲什麼它不應該被認爲是他們唯一的ID),因爲提供者可以騙你。谷歌和雅虎是兩家承諾(如果您選擇信任他們)的電子郵件地址已經過驗證的供應商,所以如果您願意,您可以跳過用戶的電子郵件驗證步驟。
0
似乎Google的OpenID服務器不支持AX或sreg。
相關問題
- 1. preg_match_all - 需要一些幫助
- 2. 需要一些幫助SC.SelectView
- 3. 需要一些幫助PVOID
- 4. RegQueryValueEx,需要一些幫助
- 5. 需要一些幫助CasperJS
- 6. 需要一些幫助!
- 7. 需要一些PHP幫助
- 8. Django需要一些幫助
- 9. 需要一些幫助#define
- 10. 我需要一些幫助,在MySQL
- 11. 我需要一些多項式幫助
- 12. 我需要幫助簡化一些JavaScript
- 13. 我需要一些幫助理解OOP
- 14. 貝寶幫手需要一些幫助
- 15. 需要域模型的一些幫助
- 16. 需要一些幫助,使互動Jtable
- 17. 需要幫助轉動一些數據
- 18. 需要一些貝寶幫助
- 19. MySQL錯誤需要一些幫助
- 20. 需要一些序列化的幫助
- 21. 需要一些幫助與測試
- 22. 在CakePHP中需要一些幫助!
- 23. 需要一些幫助PyQt和QGridLayout
- 24. 使用Twitter OAuth ...需要一些幫助
- 25. 在指針中需要一些幫助
- 26. 需要一些幫助,在MySQL
- 27. 需要一些PUB/SUB Jedis幫助Bukkit
- 28. 真的需要WebView的一些幫助
- 29. 需要一些基本的github幫助
- 30. 新手需要一些線程幫助
我試過用openautho DLL包含簡單的控制,我試過這個http://www.midnightprogrammer.net/post/Extending-OpenID-Implementation-With-ASPNET-User-Information-Roles-and -Membership.aspx,甚至該項目將返回null,你是否應該使用響應返回的URL,這將是你的唯一標識符。 – nagates 2011-01-11 03:07:26
現在沒有時間去幫忙,但是請查看http://test-id.org/ - 你可以從那裏發出請求,看看它是否真的是谷歌或者它是你的事情 – Cameron 2011-01-11 07:25:24
是的,你應該*總是*使用`IAuthenticationResponse.ClaimedIdentifier`作爲唯一標識符。 – 2011-01-11 21:22:20