我一直在研究這個問題,並且在我看來,無論如何都不能從現有的nuget軟件包Microsoft.Owin.Security.Google中處理這個問題。
我可以通過從Codeplex下載源代碼,並且重新編譯Codeplex,http://katanaproject.codeplex.com/SourceControl/latest#src/Microsoft.Owin.Security.Google/GoogleAuthenticationHandler.cs來獲得粗略的工作。我加了三行在GoogleAuthenticationHanlder授權端點:
"&openid.ns.ext2=" +
Uri.EscapeDataString("http://specs.openid.net/extensions/oauth/1.0") +
"&openid.ext2.consumer=" +
Uri.EscapeDataString(requestPrefix.Replace("https://", "").Replace("http://", "")) +
"&openid.ext2.scope=" +
Uri.EscapeDataString("https://www.googleapis.com/auth/glass.timeline https://www.googleapis.com/auth/userinfo.profile")
;
第三行是該範圍,真正應該被添加在GoogleAuthenticationOptions的屬性,並連接成範圍的空間分隔的列表。
在任何情況下,上面的添加是爲我工作。希望有人會把它們放在一個更全面的nuget包中(處理刷新令牌等)。如果沒有其他人,我可能會嘗試自己。
我也想用MVC 5的標識從EF切換到NHibernate ...你知道如何做到這一點嗎? –
RTM構建非常可能 - 測試版構建起來要困難得多。我建立了一個圖書館的原型,但它尚未準備好黃金時段,我現在沒有時間去處理它。這裏還有另一個實現 - https://github.com/milesibastos/NHibernate.AspNet.Identity - 它也可以作爲NuGet包使用。我沒有嘗試過,但看起來很簡單。 –