什么是OAuth授權?
一、什么是OAuth協議
OAuth(開放授權)是一個開放標準。
允許第三方網站在用戶授權的前提下訪問在用戶在服務商那里存儲的各種信息。
而這種授權無需將用戶提供用戶名和密碼提供給該第三方網站。
OAuth允許用戶提供一個令牌給第三方網站,一個令牌對應一個特定的第三方網站,同時該令牌只能在特定的時間內訪問特定的資源。
二、OAuth的原理和授權流程
OAuth的認證和授權的過程中涉及的三方包括:
服務商:用戶使用服務的提供方,一般用來存消息、儲照片、視頻、聯系人、文件等(比如Twitter、Sina微波等)。
用 戶:服務商的用戶
第三方:通常是網站,該網站想要訪問用戶存儲在服務商那里的信息。
比如某個提供照片打印服務的網站,用戶想在那里打印自己存在服務商那里的網絡相冊。
在認證過程之前,第三方需要先向服務商申請第三方服務的唯一標識。
OAuth認證和授權的過程如下:
1、用戶訪問第三方網站網站,想對用戶存放在服務商的某些資源進行操作。
2、第三方網站向服務商請求一個臨時令牌。
3、服務商驗證第三方網站的身份后,授予一個臨時令牌。
4、第三方網站獲得臨時令牌后,將用戶導向至服務商的授權頁面請求用戶授權,然后這個過程中將臨時令牌和第三方網站的返回地址發送給服務商。
5、用戶在服務商的授權頁面上輸入自己的用戶名和密碼,授權第三方網站訪問所相應的資源。
6、授權成功后,服務商將用戶導向第三方網站的返回地址。
7、第三方網站根據臨時令牌從服務商那里獲取訪問令牌。
8、服務商根據令牌和用戶的授權情況授予第三方網站訪問令牌。
9、第三方網站使用獲取到的訪問令牌訪問存放在服務商的對應的用戶資源。
三、目前支持OAuth的網站有
t.sina.com.cn
t.qq.com
t.sohu.com
t.163.com
www.douban.com
www.twitter.com
www.facebook.com
Google Buzz