面试题答案
一键面试- 主要角色:
- 资源所有者:即用户,拥有受保护的资源,授权第三方应用访问其资源。
- 客户端:即第三方应用,请求资源所有者授权以访问受保护资源。
- 授权服务器:验证资源所有者的身份,并向客户端颁发访问令牌。
- 资源服务器:托管受保护资源,通过验证访问令牌来决定是否向客户端提供资源。
- 工作流程:
- 步骤1:客户端请求资源所有者提供用户名和密码:客户端应用向资源所有者(用户)展示登录界面,请求其提供用户名和密码。
- 步骤2:客户端向授权服务器发送请求:客户端使用资源所有者提供的用户名和密码,向授权服务器发送包含这些凭据的请求,请求访问令牌。
- 步骤3:授权服务器验证:授权服务器接收到请求后,使用提供的用户名和密码对资源所有者进行身份验证。如果验证成功,授权服务器生成访问令牌和(可选的)刷新令牌。
- 步骤4:授权服务器颁发令牌:授权服务器将访问令牌(和刷新令牌,如果有的话)返回给客户端。
- 步骤5:客户端访问资源:客户端使用获得的访问令牌,向资源服务器发送请求以访问受保护资源。
- 步骤6:资源服务器验证令牌并提供资源:资源服务器接收到请求后,验证访问令牌的有效性。如果令牌有效,资源服务器向客户端返回受保护的资源。