ASP.NET Core的身份认证框架IdentityServer4--(4)添加第三方快捷登录
2017-12-15 17:30
1526 查看
添加对外部认证的支持
接下来我们将添加对外部认证的支持。这非常简单,因为你真正需要的是一个兼容ASP.NET Core的认证处理程序。ASP.NET Core本身也支持Google,Facebook,Twitter,Microsoft帐户和OpenID Connect。此外,你可以找到很多其他的认证供应商实现在这里。
添加Google支持
为了能够使用Google进行身份验证,您首先需要向他们进行注册。这是在他们的开发者控制台完成的。创建一个新项目,启用Google+ API,并通过将/signin-google路径添加到您的基地址(例如http//localhost:5000/signin-google)来配置本地
IdentityServer的回拨地址。
如果您在端口5000上运行 - 您可以简单地使用下面的代码片段中的客户端ID /密码,因为这是由我们预先注册的。
首先添加Google身份验证处理程序到DI。这是通过添加这个片段来
ConfigureServices完成的
Startup:
public void ConfigureServices(IServiceCollection services) { // 使用内存存储,密钥,客户端和资源来配置身份服务器。 services.AddIdentityServer() .AddDeveloperSigningCredential() .AddInMemoryApiResources(Config.GetApiResources())//添加api资源 .AddInMemoryClients(Config.GetClients())//添加客户端 .AddTestUsers(Config.GetUsers()) //添加测试用户 .AddInMemoryIdentityResources(Config.GetIdentityResources());//添加对OpenID Connect的支持 //注册mvc服务 services.AddMvc(); //添加Google登录 services.AddAuthentication() .AddGoogle("Google", options => { options.SignInScheme = IdentityServerConstants.ExternalCookieAuthenticationScheme; options.ClientId = "434483408261-55tc8n0cs4ff1fe21ea8df2o443v2iuc.apps.googleusercontent.com"; options.ClientSecret = "3gcoTrEDPPJ0ukn_aYYT6PWo"; }); }
默认情况下,
IdentityServer专门为外部身份验证的结果配置cookie处理程序(基于常量的方案
IdentityServerConstants.ExternalCookieAuthenticationScheme)。Google处理程序的配置然后使用该cookie处理程序。为了更好地理解如何完成,请参阅快速入门文件夹
AccountController下的类。
现在运行访问
http://localhost:5000/account/login- 您将在登录页面上看到一个Google按钮:
登录认证之后,您可以看到,这些声明现在来自Google数据。这里需要翻、墙,不然获取不到Google账号信息。
相关文章推荐
- ASP.NET Core的身份认证框架IdentityServer4(9)-使用OpenID Connect添加用户认证
- ASP.NET Core的身份认证框架IdentityServer4--(3)令牌服务配置访问控制跟UI添加
- ASP.NET Core的身份认证框架IdentityServer4(7)- 使用客户端证书控制API访问
- ASP.NET Core的身份认证框架IdentityServer4(3)-术语的解释
- ASP.NET Core的身份认证框架IdentityServer4--(1)服务配置
- ASP.NET Core的身份认证框架IdentityServer4(7)- 使用客户端证书控制API访问
- ASP.NET Core身份认证服务框架IdentityServer4(2)-整体介绍
- ASP.NET Core的身份认证框架IdentityServer4(1)-特性一览
- ASP.NET Core的身份认证框架IdentityServer4(5)- 包和构建
- ASP.NET Core的身份认证框架IdentityServer4(4)- 支持的规范
- ASP.NET Core的身份认证框架IdentityServer4--(2)API跟WEB端配置
- ASP.NET Core的身份认证框架IdentityServer4(3)-术语的解释
- ASP.NET Core的身份认证框架IdentityServer4(8)- 使用密码认证方式控制API访问
- ASP.NET Core的身份认证框架IdentityServer4(6)- 开始
- ASP.NET Core的身份认证框架IdentityServer4(7)- 使用客户端证书控制API访问
- IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护API
- IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护API
- IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护API
- Asp.NetCoreWebApi图片上传接口(二)集成IdentityServer4授权访问(附源码)
- (10)学习笔记 ) ASP.NET CORE微服务 Micro-Service ---- Ocelot+Identity Server