iOS開發之登入註冊系統

來源:互聯網
上載者:User

標籤:記錄   系統   校正   cookie   註冊系統   返回   oauth2.0   成功   完成   

一、登入的種類劃分:

1、 普通登入

2、使用獨立系統的登入

3、單點登入

4、 Oauth2.0登入

 

詳細介紹如下:

1、普通登入:

普通的登入需求,要的就是一個登入頁面,輸入帳號密碼,提交Form表單,後端查詢資料庫對應使用者名稱的hash密碼,匹配正確則把使用者記錄到Session,不正確則返回錯誤。

密碼hash: 就是存進資料庫的密碼是一串密文,密文是純文字密碼通過無法復原演算法得出的。

Session的原理:其實就是依賴了Cookie,通過Cookie記錄使用者憑證。

 

2、使用獨立系統的登入:

為避免token被竊取,被無限登入網站系統。使用者輸入帳號密碼登入成功之後,passport會通過帶著一個可逆加密的包含使用者資訊的token,重新導向到www.xxx.com提供的回調處理地址,然後進行解密,匹配正確,則登入使用者。要注意的是,這裡的加密的資訊需要包含一個時間戳記,接收方需要認證這個時間戳記,到期登入失敗。

 

3、單點登入:

單點登入SSO(Single Sign On),需要實現的需求其實就是在網站A的登入了,那麼使用者就自動可在網站B、網站C、網站E、F、G登入。

三種實現方式如下:

<1>使用Cookie作為憑證媒介的方式

就是使用cookie作為媒介,存放使用者憑證。使用者登入父應用之後,應用返回一個加密的cookie,當使用者訪問子應用的時候,攜帶上這個cookie,授權應用解密cookie並進行校正,校正通過則登入目前使用者。

<2>通過JSONP的方式

使用者在父應用中登入後,跟Session匹配的Cookie會存到用戶端中,當使用者需要登入子應用的時候,授權應用訪問父應用提供的JSONP介面,並在請求中帶上父應用網域名稱下的Cookie,父應用接收到請求,驗證使用者的登入狀態,返回加密的資訊,子應用通過解析返回來的加密資訊來驗證使用者,如果通過驗證則登入使用者。

<3>通過頁面重新導向的方式

就是通過父應用和子應用來回重新導向中進行通訊,實現資訊的安全傳遞。父應用提供一個GET方式的登入介面,使用者通過子應用重新導向串連的方式訪問這個介面,如果使用者還沒有登入,則返回一個的登入頁面,使用者輸入帳號密碼進行登入。如果使用者已經登入了,則產生加密的Token,並且重新導向到子應用提供的驗證Token的介面,通過解密和校正之後,子應用登入目前使用者。

 

4、OAuth2.0登入:

現在很多App都使用第三方登入,比如:「登入」、「微博登入」、「QQ登入」,其實第三方登入都是實現了OAuth2.0協議,第三方提供一個登入入口,也就是第三方網域名稱下的登入頁面。主站需要登入的時候,引導使用者重新導向到第三方的登入頁面,使用者輸入帳號密碼之後,登入第三方系統,第三方系統匹配帳號成功之後,帶上一個code到主站的回調地址,主站接收到code,短時間內拿著code請求第三方提供擷取長期憑證的介面(因為code有一個比較短的到期時間),這個長期憑證叫access_token,擷取之後就把這個access_token存到資料庫中,請求一些第三方提供的API,需要用到這個access_token,因為這個token就是記錄使用者在第三方系統的一個身份憑證。一些系統,在擷取access_token的時候,還會返回一個副參數refresh_token,因為access_token是有到期時間的,一旦到期了,主站可以使用refresh_token請求第三方提供的介面擷取新的access_token以及新的refresh_token。

 

二、登入的幾種方式:

1、帳號(手機號/郵箱/使用者名稱)+密碼登入

2、手機號+驗證碼登入

3、第三方登入

 

三、登入流程的種類:

1、 需要登入後才能繼續使用產品功能服務

2、不需要首先登入可以使用產品或者產品的部分功能

 

四、註冊的幾種方式:

1、 郵箱註冊

2、手機號註冊

3、使用者名稱註冊

4、第三方註冊

 

五、註冊流程的種類:

1、同一頁面中完成註冊

2、按步驟分頁面完成註冊

 

六、登入、註冊的注意事項:

1、 郵箱/手機號的佔用判斷

2、 郵箱/手機號的合法性判斷

3、 登入密碼的機制

4、 是否需要要確認密碼

5、 是否需要驗證碼

6、 驗證碼的重發機制

7、 登入註冊過程中的異常狀態

8、 註冊完/登入完一定要直接切回需要登入的流程節點

 

七、登入、註冊的層級劃分:

1、 使用者層面,面對的目標使用者群不同,對應的登入註冊的方式也不同。

2、功能層面,就是確保整個登入註冊模組邏輯的合理性以及流程的通暢性。

3、 業務層面,不同的商務邏輯,需要的登入註冊的方式、流程也不同;不同的功能模組,對登入節點的需求也不同。

4、產品層面,不同的產品類型,對登入註冊模組的需求不同。

 

iOS開發之登入註冊系統

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.