1. Http basic Authorization
基於瀏覽器的一種鑒權方式。
1. 未授權請求,攔截,返回 401 Unauthorised
2. 支持的瀏覽器彈出用戶名密碼框,輸入用戶名密碼,連同上次請求數據,一起發送到服務端
使用授權頭,Authorization: Basic [base64]編碼的用戶名密碼
3. 服務端驗證通過,返回資源
4. 客戶端會一種攜帶授權頭,不安全,適用於內網
2. session-cookie
用戶未登錄,無sessionId,客戶端登錄后,在cookie中種下sessionId,發送到服務端,服務端驗證通過,釋放資源。
sessionId過期,重新登錄,http請求,后端會redirect到登錄頁,ajax請求或前端route,需要前端全局攔截
3. Token
用戶未登錄,無token,登錄后,返回token,客戶端可以存儲在cookie,storage,或內存中,每次請求攜帶token,
其靈活的特點是,不必須依賴cookie,可以在任何終端使用,多用於app鑒權。
Token過期,重新登錄,請求攔截通session-cookie
4. OAuth
OAuth2.0流程:
1. 第三方應用在資源方注冊,獲取身份,無身份后面請求無效
2. 第三方應用征得用戶授權,同意獲取資源
3. 第三方應用向資源方請求授權碼,資源方返回授權碼
4. 第三方應用以授權碼,向資源方申請訪問令牌,資源方返回令牌
5. 第三方應用以令牌,訪問受限資源