一、Oauth2.0
1、官方定义:
OAuth 2.0是行业标准的授权协议。OAuth 2.0取代了2006年创建的原始OAuth协议所做的工作.OAuth 2.0专注于客户端开发人员的简单性,同时为Web应用程序,桌面应用程序,移动电话和客厅设备提供特定的授权流程。
2、应用场景:
比如淘宝商家平台,如果淘宝卖家想把自己的订单交给别的ERP厂商处理,这里卖家有两种选择:
1、自己在淘宝卖家平台下载订单然后导入到ERP厂商;
2、把自己的淘宝卖家账号密码告诉ERP厂商;
针对方案1:卖家需要自己去下载订单然后导入给ERP厂商,自己累不累;
针对方案2:把非常机密的账号密码信息暴露出去,多么不安全;
这种场景就需要使用OAuth2.0
3、OAuth2.0的四个重要角色
Resource Owner:资源拥有者,上例中的淘宝卖家;
Resource Server:资源服务器,上例中的淘宝卖家平台;
Client:第三方应用客户端,上例中的ERP厂商;
Authorization Server:授权服务器,管理Resource owner、Resource Server和Client的关系
二:OIDC:
OIDC是OpenId Connect的简称
OpenId Connect的定义:
OpenID Connect 1.0是OAuth 2.0协议之上的简单身份层。它允许客户端根据授权服务器执行的身份验证来验证最终用户的身份,以及以可互操作和类似REST的方式获取有关最终用户的基本配置文件信息。
OIDC=(Identity,Authentication)+OAuth2.0
Oauth2.0本身是一个授权协议,并不提供身份认证功能,OIDC使用OAuth2.0的授权服务器来为第三方用户提供身份认证,并将对于的身份认证信息传递给客户端,且可以适用于各种类型的客户端(比如服务端应用,移动APP,JS应用),且完全兼容OAuth2。
参考文章:https://www.cnblogs.com/linianhui/archive/2017/05/30/openid-connect-core.html