以下是【千手觀音】分享的內容全文:
PHP第三方登錄設計教程1. oAuth2.0原理
網站為了方便用戶快速的登錄系統,都會提供使用知名的第三方平臺賬號進行快速登錄的功能,第三方登錄都是基于oAuth2.0標準來實現的。下面詳細分析【基于賬號密碼授權】和【基于oAuth2.0標準授權】的原理和oAuth2.0授權的優點。
1.1 賬號密碼授權方式
用戶到網站發起使用其他平臺賬號登錄的指令,第三方平臺網站就向用戶索取賬號和密碼,用戶將賬號和密碼提供第三方網站之后,網站使用用戶提供的賬號和密碼去登錄服務商,取回用戶的信息。這就是使用賬號和密碼授權登錄的流程。
存在的問題:
一、服務商的賬號和密碼都泄漏給了第三方平臺,導致安全性問題;
分析:假設服務商是微信,沒有人會愿意把微信賬號和密碼告訴當前訪問的網站,一旦當前網站發生信息泄漏,微信賬號和密碼都會丟失;
二、用戶要收回授權,只能通過修改密碼來實現,若是有多個第三方網站都是用
同一個服務商授權登錄,那么所有第三方網站的授權都被收回來了;
分析:假設我們想要收回授權給當前網站的賬號和密碼,又不可能讓第三方主動放棄已給
授權,那么只有用戶自己修改微信密碼,但是有多個第三方網站都被微信服務商授權了登錄,修改密碼的同時,其它網站的授權也都失效了;
三、很難實現給不同的網站,授予不同的權限;
1.2 oAuth原理和授權流程
為了解決上述傳統的賬號密碼授權方式存在的問題,oAuth項目組制定了oAuth標準,目的在于為API訪問授權提供一個開放的標準;oAuth是針對訪問授權的一個開放標準,與以往的授權方式不同之處是oAuth的授權不會使第三方觸及到用戶的帳號信息(如用戶名與密碼),即第三方無需使用用戶的用戶名與密碼就可以申請獲得該用戶資源的授權,因此oAuth是安全的。oAuth是Open Authorization的簡寫。服務商和第三方平臺依據oAuth標準來編碼,服務商可以實現一個安全的授權機制,第三方應用調用服務商資源也有了統一性,服務商和第三方依據統一的標準來實現自己的功能。
用戶向第三方網站發起請求,請求使用其它平臺授權登錄,這個時候第三網站并不是直接的要求用戶提供其它平臺的賬號和密碼,而是引導用戶瀏覽器跳轉到服務商的授權登錄頁面,用戶在服務商的網站頁面進行登錄完成授權。所以解決了剛才的第一個問題,用戶不需要給第三方用戶透露賬號和密碼。登錄授權之后,服務商就會生成一個一次性的用來訪問資源的訪問碼,我們叫做令牌,這個令牌包含了用戶、第三方網站、資源權限的信息。生成這個令牌之后,服務商又引導用戶瀏覽器攜帶這個令牌跳回第三方網站的頁面,網站接收這個令牌后,第三方網站就可以攜帶令牌作為憑證訪問服務商上面有權限訪問的資源。在這個過程中,用戶沒有泄漏賬號和密碼給第三方,成功授權登錄,并且限制了第三方訪問的服務資源的權限。
1-1課程介紹
1-2OAuth2.0協議
1-3OAuth工作原理
1-4關于OAuth版本
1-5OAuth應用場景
2-1三個重要步驟解析
2-2步驟一請求OAuth登陸頁
2-3步驟二用戶使用QQ號登錄并授權
2-4步驟三返回登錄結果
2-5關于AssessToken
2-6AssessToken和RefreshToken數據傳輸原理
2-7AccessToken和RefreshToken生命周期
2-8小結
1.軟件源碼推廣展示:目的展示軟件相關功能,接收技術學習者測試、測評;
2.教程課程信息展示:展示課程信息,傳授課程各階段內容;
3.設計素材圖片展示:展示素材設計理念、思維方式、傳播設計理念;
4.福利優惠信息展示:分享各類最新的福利信息,各種優惠信息展示;
以上分享目的僅供學習、參考使用,請勿用于其他用途,如果想商業使用或者代理,請自行聯系版權方獲取授權。任何未獲取授權的商業使用與本站無關,請自行承擔相應責任。
本站不存儲任何資源文件,敬請周知!
如果您認為本頁信息內容侵犯了您的相關權益(包含但不限于:著作權、首發權、隱私權等權利),或者您認為自己是此信息的權利人但是此信息不是自己發布的,可以直接版權舉報投訴,我們會根據網站注冊協議、資源分享協議等協議處理,以保護您的合法權益。
本網站采用 BY-NC-SA 協議進行授權 轉載請注明原文鏈接:PHP第三方登錄設計教程
上一篇:PHP實現文件上傳與下載
下一篇:PHP實現頁面靜態化設計教程

侵權舉報/版權申訴



