简要概述:如何为已经启动但没有身份验证的默认core 2 web api项目添加身份验证。
细节:我有一个现有的.NET Core 2 Web API项目,没有配置身份验证,并且正在使用实体框架核心。
它是这样打开的-
图片1-未选择身份验证
我想将Google身份验证添加到我的现有项目中,就好像它是在打开时选择了
图片2-个人用户帐户
但我找不到任何关于添加这些功能+脚手架和迁移的资源 - 我能找到的所有链接都涉及从Core v1升级到v2。
有什么想法吗?
谢谢!
简要概述:如何为已经启动但没有身份验证的默认core 2 web api项目添加身份验证。
细节:我有一个现有的.NET Core 2 Web API项目,没有配置身份验证,并且正在使用实体框架核心。
它是这样打开的-
图片1-未选择身份验证
我想将Google身份验证添加到我的现有项目中,就好像它是在打开时选择了
图片2-个人用户帐户
但我找不到任何关于添加这些功能+脚手架和迁移的资源 - 我能找到的所有链接都涉及从Core v1升级到v2。
有什么想法吗?
谢谢!
添加软件包
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