2017-10-12 86 views
1

TL; DR - 如何將身份驗證添加到未經身份驗證啓動的現有默認core 2 web api項目。將Google身份驗證添加到**現有** .net core 2 web api項目

詳情 - 我有一個現有的.NET核心2網絡API項目沒有配置的認證和我使用實體框架的核心。

它被打開了一樣 -

PIC 1 - 無驗證選擇

No Auth Selected

我想谷歌認證添加到我的現有的項目就好像它是用開

圖2 - 選擇個人用戶帳戶

Individual User Accounts Selected

,但我無法找到任何資源有關添加這些功能+腳手架和遷移 - 所有我能找到的關於從核心V1升級鏈接2.

有什麼想法?

謝謝!

+1

對不起,我不明白。升級什麼?谷歌鏈接顯示你如何將谷歌身份驗證添加到一個asp.net核心應用程序。你可以嘗試更新你的問題嗎?問候。 – spottedmahn

+0

嘿!謝謝 !更新 - 希望更清楚。基本上我從默認模板開始(沒有身份驗證),現在我想添加谷歌身份驗證到我的項目,而不必將我的所有工作複製到一個新的。 – JanivZ

+0

你有沒有想過這個?我真的很努力讓我的工作,這麼多的例子使用MVC模板,我只是想要的API。 – nicV

回答

3

添加包

Microsoft.AspNetCore.Identity 
Microsoft.AspNetCore.Identity.EntityFrameworkCore 
Microsoft.AspNetCore.Authentication.Google 

然後在啓動:

public void ConfigureServices(IServiceCollection services) 
{ 
    services.AddIdentity<IdentityUser, IdentityRole>(); 
    services.AddAuthentication(
      v => { 
       v.DefaultAuthenticateScheme = GoogleDefaults.AuthenticationScheme; 
       v.DefaultChallengeScheme = GoogleDefaults.AuthenticationScheme; 
      }).AddGoogle(googleOptions => 
      { 
       googleOptions.ClientId = "CLIENT ID"; 
       googleOptions.ClientSecret = "CLIENT SECRET"; 
      }); 
    services.AddMvc(); 
} 

public void Configure(IApplicationBuilder app, IHostingEnvironment env) 
{ 
    app.UseAuthentication() 
     .UseMvc(); 
} 

的最小工作示例這裏: https://github.com/mjrmua/Asp.net-Core-2.0-google-authentication-example