1. 流程图

2. 流程简介
2.1 第一步
用户将账号密码提供给第三方Client
2.2 第二步
第三方请求AuthServer, 使用 用户名和密码 获取 ACCESS_TOKEN
POST /token HTTP/1.1Host: authserver.comAuthorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JWContent-Type: application/x-www-form-urlencodedgrant_type=password&username=johndoe&password=A3ddj3w
2.3 第三步
当AuthServer校验成功, 则返回 ACCESS_TOKEN
HTTP/1.1 200 OKContent-Type: application/json;charset=UTF-8Cache-Control: no-storePragma: no-cache{"access_token":"2YotnFZFEjr1zCsicMWpAA","token_type":"example","expires_in":3600,"refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA","example_parameter":"example_value"}
3. 适用场景
有没有发现这个方式, 几乎和正常一个应用没啥区别
如果第三方应用Client就是官方出品的应用,又要使用 OAuth 2.0 来保护我们的 Web API,那么你这种方式,采用资源拥有者凭据许可类型。
举个例子, 语雀,钉钉,支付宝 他们其实就是阿里一家的, 就可以用这种方式互相登录
