日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oauth2基本概念

發布時間:2023/12/10 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oauth2基本概念 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.什么是oauth2

  • OAuth2.0介紹 OAuth(Open Authorization)是一個關于授權(authorization)的開放網絡標準,允許用戶授權第三方 應用訪問他們存儲在另外的服務提供者上的信息,而不需要將用戶名和密碼提供給第三方移動應用或分享他 們數據的所有內容。OAuth在全世界得到廣泛應用,目前的版本是2.0版。
  • OAuth協議:https://tools.ietf.org/html/rfc6749 協議特點:簡單:不管是OAuth服務提供者還是應用開發者,都很易于理解與使用; 安全:沒有涉及到用戶密鑰等信息,更安全更靈活; 開放:任何服務提供商都可以實現OAuth,任何軟件開發商都可以使用OAuth;
  • 2.為什么用oauth2

    業務系統 需要實現幾種登錄形式

  • 原生app授權 app登錄請求后臺接口,為了安全認證,所有請求都帶token信息,如果登錄驗證、 請求后臺數據。
  • 前后端分離單頁面應用:前后端分離框架,前端請求后臺數據,需要進行oauth2安全認證,比如 使用vue、react后者h5開發的app
  • 第三方應用授權登錄,比如QQ,微博,微信的授權登錄。
  • 3.怎么用oauth2

    4.oauth中的角色

    OAuth 定義了四個角色:

    4.1 Resource owner 資源擁有者(用戶)

    能夠授予對受保護資源的訪問權限的實體。當資源所有者是一個人時,它被稱為最終用戶

    Resource Server 資源服務器

    托管受保護資源的服務器,能夠使用訪問令牌接受和響應受保護資源請求

    Client 客戶端

    代表資源所有者并經其授權發出受保護資源請求的應用程序。“客戶”一詞確實 不暗示任何特定的實現特征(例如, 應用程序是否在服務器、桌面或其他 設備上執行)。

    Authorization server 授權服務器

    服務器在成功 驗證資源所有者并獲得授權后向客戶端頒發訪問令牌。授權服務器和資源服務器之間的交互超出了本規范的范圍。授權服務器 可以是與資源服務器相同的服務器,也可以是單獨的實體。 單個授權服務器可以發布多個資源服務器接受的訪問令牌。

    5.認證流程參考

    6.Oauth2 的四種認證模式的流程

    6.1 Authorization Code (授權碼模式)

    應用場景

    這種方式是最常用的流程,安全性也最高,它適用于那些有后端的 Web 應用。授權碼通過前端傳送,令牌則是儲存在后端,而且所有與資源服務器的通信都在后端完成。這樣的前后端分離,可以避免令牌泄漏

    流程


    1:用戶訪問頁面
    2:訪問的頁面將請求重定向到認證服務器
    3:認證服務器向用戶展示授權頁面,等待用戶授權
    4:用戶授權,認證服務器生成一個code和帶上client_id發送給應用服務器
    然后,應用服務器拿到code,并用client_id去后臺查詢對應的client_secret
    5:將code、client_id、client_secret傳給認證服務器換取access_token和
    refresh_token
    6:將access_token和refresh_token傳給應用服務器
    7:驗證token,訪問真正的資源頁面

    6.2 Resource Owner Password Credentials Grant(密碼模式)

    應用場景

    如果你高度信任某個應用,RFC 6749 也允許用戶把用戶名和密碼,直接告訴該應用。該應用就使用你的密碼,申請令牌,這種方式稱為"密碼式"(password)

    流程


    1:用戶訪問用頁面時,輸入第三方認證所需要的信息(QQ/微信賬號密碼)
    2:應用頁面那種這個信息去認證服務器授權
    3:認證服務器授權通過,拿到token,訪問真正的資源頁面

    6.3 Implicit Grant (隱式授權模式)

    應用場景

    有些 Web 應用是純前端應用,沒有后端。這時就不能用上面的方式了,必須將令牌儲存在前端。RFC 6749 就規定了第二種方式,允許直接向前端頒發令牌。這種方式沒有授權碼這個中間步驟,所以稱為(授權碼)“隱藏式”(implicit)

    流程

    1:用戶訪問頁面時,重定向到認證服務器。
    2:認證服務器給用戶一個認證頁面,等待用戶授權。
    3:用戶授權,認證服務器想應用頁面返回Token
    4:驗證Token,訪問真正的資源頁面

    6.4 Client Credentials Grant (客戶端憑證模式)

    應用場景

    適用于沒有前端的命令行應用,即在命令行下請求令牌

    流程


    1:用戶訪問應用客戶端
    2:通過客戶端定義的驗證方法,拿到token,無需授權
    3:訪問資源服務器A
    4:拿到一次token就可以暢通無阻的訪問其他的資源頁面
    如果你高度信任某個應用,RFC 6749 也允許用戶把用戶名和密碼,直接告訴該應用。該應用就使用你的密碼,申請令牌,這種方式稱為"密碼式"(password)

    7 刷新token原理

    總結

    以上是生活随笔為你收集整理的oauth2基本概念的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。