1.登陸後 信息放入 session中 2.頁面內驗證session中是否有登陸信息 3.若是有,不須要再次登陸 4.若是沒有,跳轉登陸頁面 5.若是登陸後點擊註銷,刪除session中登陸信息,並清除頁面緩存(必要的)
1.過時-->很長時間沒有去訪問網站 2.主動關閉-->用處註銷 3.切換瀏覽器
sessionKey/tokenKey
的字段;1.登陸登陸.須要保存sessionKey到sp-->保存sessionkey 2.判斷sessionKey是否存在sp中,存在,服務器判斷是否過時,過時,要求用戶從新登陸; 3.判斷sessionKey是否存在sp中,存在,服務器判斷是否過時,不過時,繼續走流程; 4.判斷sessionKey是否存在sp中,不存在,要求用戶登陸,登陸完成保存sessionkey;
1.用戶填寫手機號,點擊發送驗證碼,發送請求把手機號傳到server 2.server調用短信平臺的接口知道`發送內容`,`發送對象`,完成短信的發送 3.用戶收到短信,獲得驗證碼,填寫驗證碼,發送請求把`手機號`,`驗證碼`上傳到server 4.server判斷咱們的`驗證碼是否正確`,`驗證是否過時`,根據不一樣的判斷,返回不一樣的結果
*開放平臺(Open Platform) 在軟件業和網絡中,開放平臺是指
軟件系統
經過公開其應用程序編程接口(API)或函數(function)
來使外部的程序
能夠增長該軟件系統的功能
或使用該軟件系統的資源
,而不須要更改該軟件系統的源代碼。 * 開發平臺的做用:提供功能,提供資源;php
http://wiki.connect.qq.com/sdk%E4%B8%8B%E8%BD%BD
- 用qq號/微信號/微博號去登陸本身的應用
- 核心:就是拿到咱們accessToken;
- 實際開發第三方登陸的協議:
http://xxx?token=>xxx&type=x
,token就是咱們受權以後返回的accessToken,type是爲了區分不一樣登陸渠道;
* 1.發起受權請求,讓用戶受權 ok * 2.用戶輸入帳號密碼,用戶受權成功 ok * 3.處理受權結果.拿到accessToken ok * 4.調用第三方登陸協議(本身公司定義的).完成第三方登陸 本身server定義的協議和騰訊沒有關係
* 使用accessToken拿到用戶在`第三方平臺的惟一ID`; * 判斷`第三方平臺的惟一ID`是否存在咱們的用戶信息表中; * 存在:(以前使用qq號登錄過本身的系統)返回當前用戶的用戶信息 * 不存在:(用戶尚未使用過此qq登錄過咱們的系統) * 調用相關的接口,拿到nickname,郵箱,頭像(須要什麼拿取什麼);
OAuth是一個開放標準,容許用戶讓第三方應用訪問該用戶在某一網站上存儲的私密的資源(如照片,視頻,聯繫人列表),而無需將用戶名和密碼提供給第三方應用。java
(A)用戶打開客戶端之後,客戶端要求用戶給予受權。 (B)用戶贊成給予客戶端受權。 (C)客戶端使用上一步得到的受權,向認證服務器(好比qq登陸,那就是騰訊)申請令牌。 (D)認證服務器對客戶端進行認證之後,確認無誤,贊成發放令牌。 (E)客戶端使用令牌,向資源服務器申請獲取資源。 (F)資源服務器確認令牌無誤,贊成向客戶端開放資源。
(1) Third-party application:第三方應用程序,本文中又稱"客戶端"(client),即上一節例子中的"雲沖印"。 (2)HTTP service:HTTP服務提供商,本文中簡稱"服務提供商",即上一節例子中的Google。 (3)Resource Owner:資源全部者,本文中又稱"用戶"(user)。 (4)User Agent:用戶代理,本文中就是指瀏覽器。 (5)Authorization server:認證服務器,即服務提供商專門用來處理認證的服務器。 (6)Resource server:資源服務器,即服務提供商存放用戶生成的資源的服務器。它與認證服務器,能夠是同一臺服務器,也能夠是不一樣的服務器。
第一步:讓用戶受權 https://login.sina.com.cn/sso/logout.php?r=https%3A%2F%2Fauth.sina.com.cn%2Foauth2%2Fauthorize%3Fclient_id%3D3237555059%26redirect_uri%3Dhttp%253A%252F%252Fwww.itheima.com%26response_type%3Dcode%26display%3Dmobile&rand=1432687399 第二步:獲取code 請求url地址: https://auth.sina.com.cn/oauth2/authorize 請求方法是post: 請求參數: client_id=3237555059&client_secret=2b6c964b071e2ecc28c1835628cc6901&grant_type=authorization_code&code=a9ad7e219c0c8d209ed4b4be48d3af82&redirect_uri=http%3A%2F%2Fwww.itheima.com 結果:重定向到回調地址傳入咱們的code 第三步:獲取咱們的accessToken https://auth.sina.com.cn/oauth2/access_token { 「client_id」, appkey, 「client_secret」,appSecrect, 「grant_type」, 「authorization_code」, 「code」, code, 「redirect_uri」, 「回調地址」 }; 結果:拿到accessToken/token c00cc566623yk3e3x6rXZ3gOj5Jc5a62 05-27 00:54:33.252: I/System.out(1312): token: b682c066623yk3e2xJtU24kftMdc09a8 05-27 00:57:14.420: I/System.out(1388): token: c00cc566623yk3e3x6rXZ3gOj5Jc5a62 接下來能夠經過accessToken去獲取用戶其餘信息 https://api.weipan.cn/2/account/info?access_token=c00cc566623yk3e3x6rXZ3gOj5Jc5a62