TL; DR - 如何将身份验证添加到未使用auth启动的现有默认核心2 web api项目。
详情 - 我已经有一个现有的.net core 2 web api项目没有配置身份验证,我正在使用实体框架核心。
像 -
那样打开了PIC 1 - 未选择身份验证
我想将Google身份验证添加到我的现有项目,就好像它已打开
一样PIC 2 - 选择了单个用户帐户
但我找不到任何关于添加这些功能+脚手架和迁移的资源 - 我所能找到的是有关从核心v1升级到2的链接。
任何想法?
谢谢!
答案 0 :(得分:15)
添加包
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