[英]How to migrate ASP.NET Web Forms application from Membership to ASP.NET Identity 2.0?
[英]Migrate web forms ASP.NET Membership OpenAuth for Google from OpenID 2.0 to OpenID Connect
我有一個現有的Web表單網站,該網站利用內置的ASP.NET成員資格OpenAuth模型。 一切都運行了一年半以上,但是我剛剛發現Google已棄用OpenID 2.0,並將於2015年4月20日關閉它(僅一周時間)。
這是抽象的真正困擾,因為我只有AuthConfig.cs中的一行代碼
OpenAuth.AuthenticationClients.AddGoogle();
我已經更新了所有與OpenAuth相關的NuGet程序包,希望在幕后有一個針對此問題的修復程序-但是不高興。
是否有一個簡單的解決方案,還是我需要完全刪除並重寫Google身份驗證文件?
(與此相關的許多問題,但我還沒有發現任何與Web窗體Membership.OpenAuth實現特別相關的東西。)
Nuget軟件包“ DotNetOpenAuth OAuth2 Google客戶端 ”為我解決了這個問題。
在OpenAuth.AuthenticationClients.AddGoogle();
,替換OpenAuth.AuthenticationClients.AddGoogle();
有:
var client = new GoogleOAuth2Client(clientID, clientSecret);
var extraData = new Dictionary<string, string>();
OpenAuth.AuthenticationClients.Add("Google", () => client, extraData);
通過設置Google App獲得字符串值clientID和clientSecret。
在響應您向Google注冊的重定向Uri的頁面中,在對OpenAuth.VerifyAuthentication(redirectUrl)
現有調用之前添加GoogleOAuth2Client.RewriteRequest()
OpenAuth.VerifyAuthentication(redirectUrl)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.