桂平市住房和城乡建设局门户网站,旅游公网站如何做,如何投诉做网站的公司,南昌网站忧化OAuth 2.0
OAuth 2.0是一个关于授权的开放网络标准#xff0c;允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息#xff0c;而不需要将用户名和密码提供给第三方应用或分享他们数据的所有内容。其最终目的是颁发一个有时效性的令牌#xff08;access_token允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息而不需要将用户名和密码提供给第三方应用或分享他们数据的所有内容。其最终目的是颁发一个有时效性的令牌access_token第三方应用根据这个access_token就可以去获取用户的相关资源如用户显示名称、email这些信息。
简单来说OAuth2.0就是用来授权第三方应用让第三方应用可以获取用户数据
OAuth2角色
1.资源所有者Resource Owner即代表用户本身授权客户端访问本身资源信息的用户
2.资源服务器Resource Server提供用户资源的服务器
3.授权服务器Authorization Server 用来验证用户提供的信息是否正确在成功验证用户身份并获得授权后给客户端派发访问资源令牌
4.客户端Client 代表意图访问受限资源的第三方应用
OAuth2授权模式
Oauth2授权模式分为授权码模式、简化模式、密码模式和客户端模式四种
1、授权码模式Authorization Code这是标准的OAuth 2.0授权流程适用于安全的端到端通信场景。客户端首先引导用户到授权服务器进行授权授权后授权服务器将授权码发送给客户端客户端再拿着这个授权码向授权服务器申请令牌申请成功之后客户端再通过令牌去访问资源服务器。
2、简化模式Implicit在简化模式下令牌直接在授权页面中返回不再需要授权码。客户端发送授权请求用户授权后资源服务器将重定向回调URL并将令牌作为参数传递给它。客户端将令牌发送给授权服务器Authorization Server请求获取AccessToken。客户端收到Access Token后就可以使用它来访问受保护的资源。
3、密码模式Resource Owner Password在这种模式下客户端直接向授权服务器提供用户的用户名和密码授权服务器根据这些信息为客户端发放令牌。
4、客户端模式Client Credentials在这种模式下客户端向授权服务器提供自己的用户名通常是客户端的客户端ID不需要用户授权适合后台服务间的认证和访问和密码授权服务器根据这些信息为客户端发放令牌。
JWT
JWT是JSON Web Token的缩写它是一种开放标准RFC 7519定义的方式用于在网络之间安全地传输信息。这些信息可以用于认证、授权、信息交换等。
一个 JWT 实际上就是一个字符串也是一种创建token的方式
JWT主要由三部分组成头部Header、负载Payload和签名Signature。
头部包含两部分令牌类型token type和算法Algorithm这部分使用Base64编码。 负载是实际传输的数据可以包含用户ID、角色、exp过期时间等这部分也使用Base64编码。 签名是对头部和负载的签名以防止令牌被篡改。签名使用头部中指定的算法和秘钥生成。
想了解更多信息可以去官网学习
JWT官网https://jwt.io/