OAuth2.0学习(1-6)授权方式3-密码模式(Resource Owner Password Credentials Grant)
授權(quán)方式3-密碼模式(Resource Owner Password Credentials Grant)
密碼模式(Resource Owner Password Credentials Grant)中,用戶向客戶端提供自己的用戶名和密碼??蛻舳耸褂眠@些信息,向"服務(wù)商提供商"索要授權(quán)。
在這種模式中,用戶必須把自己的密碼給客戶端,但是客戶端不得儲存密碼。這通常用在用戶對客戶端高度信任的情況下,比如客戶端是操作系統(tǒng)的一部分,或者由一個(gè)著名公司出品。而認(rèn)證服務(wù)器只有在其他授權(quán)模式無法執(zhí)行的情況下,才能考慮使用這種模式。
它的步驟如下:
(A)用戶向客戶端提供用戶名和密碼。
(B)客戶端將用戶名和密碼發(fā)給認(rèn)證服務(wù)器,向后者請求令牌。
(C)認(rèn)證服務(wù)器確認(rèn)無誤后,向客戶端提供訪問令牌。
B步驟中,客戶端發(fā)出的HTTP請求,包含以下參數(shù):
- grant_type:表示授權(quán)類型,此處的值固定為"password",必選項(xiàng)。
- username:表示用戶名,必選項(xiàng)。
- password:表示用戶的密碼,必選項(xiàng)。
- scope:表示權(quán)限范圍,可選項(xiàng)。
下面是一個(gè)例子。
POST /token HTTP/1.1Host: server.example.comAuthorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JWContent-Type: application/x-www-form-urlencodedgrant_type=password&username=johndoe&password=A3ddj3wC步驟中,認(rèn)證服務(wù)器向客戶端發(fā)送訪問令牌,下面是一個(gè)例子。
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" }整個(gè)過程中,客戶端不得保存用戶的密碼。
轉(zhuǎn)載于:https://www.cnblogs.com/lexiaofei/p/6934457.html
總結(jié)
以上是生活随笔為你收集整理的OAuth2.0学习(1-6)授权方式3-密码模式(Resource Owner Password Credentials Grant)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求大佬翻译句话
- 下一篇: sqlmap完成简单的sql注入