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

侵權(quán)舉報/版權(quán)申訴



