邢台做网站的价格究竟多少钱?,做买东西的网站要多少钱,手机版网站怎么做的,代刷网站推广免费前言
OAuth#xff08;Open Authorization#xff09;是一个关于授权#xff08;authorization#xff09;的开放网络标准#xff0c;允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息#xff0c;而不需要将用户名和密码提供给第三方移动应用或分享他们数…前言
OAuthOpen Authorization是一个关于授权authorization的开放网络标准允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息而不需要将用户名和密码提供给第三方移动应用或分享他们数据的所有内容。OAuth在全世界得到广泛应用目前的版本是2.0版 一.为什么使用OAuth2.0?
在前言我们介绍了OAuth2.0的作用但是与其他登录方式相比我们为什么要选择OAuth2.0呢
案例讲解
在我们平常的生活中很多应用程序中会需要登录但是在普通的一个App中我们常见的一般是用到账号密码登录所以在每次进行登录操作时我们都需要进行输入账号密码这时候肯定会有人说了我登录一次就可以在我的设备上记住密码了那么假设更换设备时是不是还是需要输入账号和密码所以在频繁得使用账号密码登录的时候往往安全性就大大降低了这时候OAuth2.0的作用就体现出来了我们使用第三方账号进行登录时只需要对当前App程序或者网站进行授权即可并不需要频繁得使用账号密码进行登录大大降低了我们账号密码泄露的风险以我们的微信登录为例微信拥有强大的身份验证机制的同时还可以对网站授权的权限进行管理这不仅对我们权限的管理提供了更好的体验也提高了我们用户信息的安全性 小结OAuth 提供了更安全、便捷且用户友好的身份验证和授权机制尤其适用于需要集成第三方服务的应用程序 二.OAuth2.0授权机制
1.OAuth2.0角色 资源所有者Resource Owner通常是最终用户他拥有资源例如数据需要授权第三方应用访问这些资源。 客户端Client即第三方应用程序希望访问资源所有者的受保护资源。 授权服务器Authorization Server负责认证资源所有者并颁发访问令牌Access Token给客户端。 资源服务器Resource Server保护受控制的资源只对有效的访问令牌持有者提供访问。
2.OAuth2.0授权流程 2.1授权码模式Authorization Code Grant 客户端重定向客户端将用户重定向到授权服务器请求授权并提供自己的标识。 用户授权用户在授权服务器上登录并同意授权客户端。 授权码颁发授权服务器生成一个授权码并将其传递给客户端。 令牌请求客户端使用授权码请求访问令牌Access Token。 访问令牌颁发授权服务器验证授权码如果有效颁发访问令牌。 资源访问客户端使用访问令牌访问资源服务器上的受保护资源。 令牌的特点: 令牌又时效性一般是短期的且不能修改密码一般是长期有效的令牌可以由颁发者撤销且即时生效密码一般可以不用修改而长期有效令牌可以设定权限的范围且使用者无法修改 在使用令牌时需要保证令牌的保密令牌验证有效即可进入系统不会再做其他的验证。 2.2 密码授权模式Resource Owner Password Credentials Grant 用户凭证用户将用户名和密码直接提供给客户端。 令牌请求客户端使用用户提供的凭证向授权服务器请求访问令牌。 访问令牌颁发授权服务器验证用户凭证如果有效颁发访问令牌。 资源访问客户端使用访问令牌访问资源服务器上的受保护资源。
2.3 客户端凭证模式Client Credentials Grant 客户端身份验证客户端使用自己的身份凭证向授权服务器请求访问令牌。 访问令牌颁发授权服务器验证客户端身份如果有效颁发访问令牌。 资源访问客户端使用访问令牌访问资源服务器上的受保护资源。
2.4 简化隐式模式Implicit Grant 重定向到授权服务器客户端直接将用户重定向到授权服务器并请求授权不同于授权码授权流程不需要授权码交换步骤。 用户授权用户在授权服务器上登录并同意授权请求。 直接颁发令牌授权服务器直接向客户端返回访问令牌不再颁发授权码。这个令牌直接由浏览器接收并在重定向过程中传递给客户端。 访问资源客户端使用获得的访问令牌去访问资源服务器上的受保护资源。