在Visual Studio 2017RC中,我創建了具有單獨用戶帳戶的ASP.NET Core MVC應用程序,併成功完成了https://docs.microsoft.com/en-us/aspnet/core/security/authentication/social/google-logins教程以附加Google身份驗證。我現在通過我的Google帳戶登錄。如何在ASP.NET Core MVC OAuth 2.0中獲取訪問令牌的值
我所做的只是添加幾行自動生成的代碼(在Startup.cs的配置方法):
app.UseGoogleAuthentication(new GoogleOptions
{
ClientId = "xxxx.apps.googleusercontent.com",
ClientSecret = "xxxx",
Scope = { "email", "openid" }
});
我現在需要得到這是由谷歌發出的訪問令牌的值(和存儲在Cookie中)。然後,我將使用它來生成XOAuth2密鑰以訪問Google服務。例如,在HomeController的About方法(由標準嚮導自動生成)中,我想顯示收件箱中未讀郵件的數量。使用XOAuth2密鑰,我可以登錄我的Gmail並從此處繼續。
我怎樣才能得到這個令牌? - 我需要通過Google初始登錄時將訪問令牌存儲在數據庫中嗎?如果是這樣,任何線索如何可以在標準的嚮導生成的ASP.NET Core MVC應用程序中做到這一點? - 或者,我可以隨時從cookies中讀取訪問令牌?如果是這樣,怎麼樣?
最好我從cookies(無論如何)讀取它並避免在數據庫中重複此信息,但不確定此方法是否可行(即是否可以解密)。
我爲ASP.NET MVC做了一次,但在ASP.NET Core MVC中發生了很大的變化,遺留代碼已經無用了。
是什麼類型在你的榜樣信息? – conterio
我不記得確切,但我相信它是'Microsoft.AspNetCore.Identity.ExternalLoginInfo'。 – Alex
你從哪裏得到信息? – Murray