OAuth2.0認證和授權原理
文件來源於:http://www.6zou.net/tech/what_is_oauth.html
所謂OAuth(即Open Authorization,開放授權),它是為用戶資源授權提供了一種安全簡單的標準,也就是說用戶在訪問第三方web或應用的時候,第三方不會知道用戶的信息(登錄密碼等),現在基本都支持OAuth2.0版本了。
首先來看看我們在第三方使用oauth流程如下:
第一步:用戶登錄第三方網站,使用qq登錄。
第二步:點擊登錄後,會跳到qq平臺提示輸入用戶名和密碼。
第三步:如果用戶名和密碼正確,會提示是否接受授權,如果授權成功,第三方網站就能訪問你的資源了,qq頭像、用戶名等
認證和授權過程(包括三方)
1、服務提供方,用戶使用服務提供方來存儲受保護的資源,如照片,視頻,聯系人列表。
2、用戶,存放在服務提供方的受保護的資源的擁有者。
3、客戶端,要訪問服務提供方資源的第三方應用,通常是網站。在認證過程之前,客戶端要向服務提供者申請客戶端標識。
用戶訪問客戶端的網站,想操作用戶存放在服務提供方的資源。
客戶端向服務提供方請求一個臨時令牌。
服務提供方驗證客戶端的身份後,授予一個臨時令牌。
客戶端獲得臨時令牌後,將用戶引導至服務提供方的授權頁面請求用戶授權。在這個過程中將臨時令牌和客戶端的回調連接發送給服務提供方。
用戶在服務提供方的網頁上輸入用戶名和密碼,然後授權該客戶端訪問所請求的資源。
授權成功後,服務提供方引導用戶返回客戶端的網頁,並返回已授權的臨時憑證。
客戶端根據已授權的臨時令牌從服務提供方那裏獲取訪問令牌。
服務提供方根據臨時令牌和用戶的授權情況授予客戶端訪問令牌。
客戶端使用獲取的訪問令牌訪問該用戶存放在服務提供方上的受保護的資源。(客戶端只能訪問給予它授權的用戶的資源信息)
來源: http://www.phpddt.com/%E4%BA%8C%E6%AC%A1%E5%BC%80%E5%8F%91/oauth-2.html
OAuth2.0認證和授權原理