app登陸,註冊,第三方登陸資料設計及業務流程

2022-08-14 05:27:12 字數 2140 閱讀 3916

本片文章主要講解一下,登陸的三種方式,以及資料庫的設計和業務流程的設計。

1.使用者基礎資訊表user_bases

欄位名描述

id使用者id,自增

username

使用者名稱password

密碼email

電子郵箱

phone

手機號nickname

暱稱...

更多的基礎資訊

2.使用者認證資訊表user_auths(如果不涉及第三方登陸,不用建立這個表)

欄位名描述

id自增

uid關聯使用者user_bases的id

third_key

三方登陸唯一標識

third_type

3. 說明

3.1 說一說登陸的具體處理

(1)使用者名稱、手機號、email+密碼登陸:

直接呼叫介面,傳遞賬戶名和密碼,在user_bases表中查詢並匹配password(password需要做加密處理)
(2)手機號+簡訊驗證碼登陸,分為兩步:

a.傳送驗證碼介面:客戶端:呼叫傳送驗證碼介面,攜帶手機號碼。後台:呼叫第三方簡訊平台介面,返回驗證碼儲存到redis中,並新增時效。

b.客戶端收到簡訊驗證碼後填寫,呼叫驗證碼登陸介面:首先驗證驗證碼,正確的話再根據手機號查詢使用者資訊。

(3)第三方登陸:

a.客戶端首先呼叫三方平台提供的介面:返回唯一標識及使用者資訊(暱稱,頭像等)。

b.呼叫後台提供的三方登陸介面(攜帶上步返回的資料):

首先需要在user_auths表中查詢third_key是否存在唯一標識,有:說明已經建立了使用者,沒有:未建立。

未建立時需要在user_auths中插入一條資料,然後再在user_auths中插入一條資料。

3.2 說一說乙個賬號繫結多個三方賬號的具體處理

繫結多個三方賬號的前提是:已存在乙個賬號。這樣繫結三方賬號時,只需在user_auths中插入一條資料即可(對應已存在的那個賬號),這樣就實現了一對多的關係。具體看下實現:

users

| id | username | password | email | phone | nickname | ...

| 1 | qaz123 |124568 |... |1523652.. | 張三 | ...

| 2 | lijds963 |985236 |... |1856321.. | 李四 | ...user_auths

| id | uid | third_key |third_type|...

| 1 | 1 |*********** |weixin |...

| 2 | 1 |*********** |qq |...

| 3 | 2 |*********** |weixin |...

| 4 | 2 |*********** |qq |...

| 5 | 1 |*********** |weibo |...

下圖為三種登陸方式的時序圖:

1.使用者名稱、手機號、email+密碼登陸:

(1)使用者名稱、手機號、email+密碼登陸介面
2.手機號+簡訊驗證碼登陸:

(1)傳送驗證碼介面

(2)呼叫第三方簡訊平台介面(後台直接與三方互動,與客戶端無關)

(3)手機號+驗證碼登陸介面

3.三方登陸:

(1)通過三方提供的介面獲取唯一標識和相關使用者資訊(客戶端呼叫,與後台無關)

(2)三方登陸介面

4.註冊

(1)手機號+驗證碼註冊
5.修改密碼,繫結,解除繫結

(1)修改密碼介面

(2)解除繫結,三方登陸介面

(3)繫結手機,三方登陸介面

說明:1.有些朋友可能會將三種登陸介面做成乙個介面,也不是不行,但個人感覺這樣**能顯得更獨立,實現解耦,也方便修改。

thinksns 第三方登陸

繫結成功了之後必須設定下面兩個session session mid login uid 如果能找到,那就把繫結的使用者的uid存入session session site key getsitekey 因為在action.class.php裡面的inituser方法裡model passport ...

linkedin第三方登陸

到linkedin註冊成為開發者 使用這個sdk 利用composer安裝 composer require linkedinapi linkedin 1.1寫個首頁,點選跳到login.php li new linkedin array api key yourapikey api secret ...

第三方登陸 新浪

一 phpsdk的組成 裡面看到6個檔案 callback.php config.php index.php weibolist.php weibooauth.php以及.ds store這6個檔案。看了下官方的api文件 首先建立應用 這個可以隨便建立乙個等到上線之後可以按照自己的需要建立。三 互...