提供的功能
IdentityServer4 :基于 ASP.NET Core 的 OpenID Connect 和 OAuth 2.0 框架。
支持平台: Web 应用,本机应用,移动应用,服务器应用程序。
提供功能:身份认证、单点登录与注销,使用令牌对API访问控制,集成外部身份提供商,扩展
性,开源免费用于商业。
现代化应用程序架构
浏览器与 Web 应用通信,Web 应用与 Web API 通信,浏览器与 Web API通信,本地应用程
序与 Web API 通信,服务器应用程序与 Web API 通信,Web API 与Web API 进行通信。
openID Connect 与 OAuth 2.0
OpenID Connect 和 OAuth 2.0 非常相似,事实上,OpenID Connect 是 OAuth 2.0 之上的扩展。两
个基本的安全问题,即身份验证和 API 访问,被合并为一个协议 - 通常只需一次往返安全令牌
服务。
IdentityServer 是一个中间件,可将符合规范的 OpenID Connect 和 OAuth 2.0 端点添加到
任意 ASP.NET Core 应用程序中。
相关术语
用户:用户是使用注册客户端访问资源的人。
用户代理:浏览器,APP
用户代理:浏览器,APP
客户端:从 IdentityServer 请求令牌的软件,验证用户令牌,客户端首先得注册。
资源:希望保护的资源,用户身份数据、API或其它,每个资源都有唯一名称。
身份令牌:表示身份验证过程的结果,包括用户标识。
访问令牌:客户端请求访问令牌并将其转发给API用于授权。
授权码:使用授权码获取访问令牌,授权码也有有效期。
开源地址与其它扩展项目
https://github.com/IdentityServer/IdentityServer4
演示服务器与测试
https://demo.identityserver.io
https://github.com/IdentityServer/IdentityServer4.Demo
相关参考资料
OAuth 2.0 的一个简单解释
理解 OAuth 2.0
GitHub OAuth 第三方登录示例教程
【小结】
身份认证相关技术,目前已经很成熟了,Identity Server 4是基于 ASP.NET Core 的 OpenID Connect 和 OAuth 2.0 框架。以后我们也可以尝试一下其他技术栈来实现身份认证的功能。