国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SSO單點登錄和OAuth2.0的區別和理解

Android編程精選 ? 來源:CSDN ? 作者:CSDN ? 2022-11-07 11:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、概述

SSO是Single Sign On的縮寫,OAuth是Open Authority的縮寫,這兩者都是使用令牌的方式來代替用戶密碼訪問應用。流程上來說他們非常相似,但概念上又十分不同。SSO大家應該比較熟悉,它將登錄認證和業務系統分離,使用獨立的登錄中心,實現了在登錄中心登錄后,所有相關的業務系統都能免登錄訪問資源。

OAuth2.0原理可能比較陌生,但平時用的卻很多,比如訪問某網站想留言又不想注冊時使用了微信授權。以上兩者,你在業務系統中都沒有賬號和密碼,賬號密碼是存放在登錄中心或微信服務器中的,這就是所謂的使用令牌代替賬號密碼訪問應用。

二、SSO

兩者有很多相似之處,下面我們來解釋一下這個過程。先來講解SSO,通過SSO對比OAuth2.0,才比較好理解OAuth2.0的原理。SSO的實現有很多框架,比如CAS框架,以下是CAS框架的官方流程圖。特別注意:SSO是一種思想,而CAS只是實現這種思想的一種框架而已

f7809178-5dc7-11ed-a3b6-dac502259ad0.png

上面的流程大概為:

用戶輸入網址進入業務系統Protected App,系統發現用戶未登錄,將用戶重定向到單點登錄系統CAS Server,并帶上自身地址service參數

用戶瀏覽器重定向到單點登錄系統,系統檢查該用戶是否登錄,這是SSO(這里是CAS)系統的第一個接口,該接口如果用戶未登錄,則將用戶重定向到登錄界面,如果已登錄,則設置全局session,并重定向到業務系統

用戶填寫密碼后提交登錄,注意此時的登錄界面是SSO系統提供的,只有SSO系統保存了用戶的密碼,

SSO系統驗證密碼是否正確,若正確則重定向到業務系統,并帶上SSO系統的簽發的ticket

瀏覽器重定向到業務系統的登錄接口,這個登錄接口是不需要密碼的,而是帶上SSO的ticket,業務系統拿著ticket請求SSO系統,獲取用戶信息。并設置局部session,表示登錄成功返回給瀏覽器sessionId(tomcat中叫JSESSIONID)

之后所有的交互用sessionId與業務系統交互即可

最常見的例子是,我們打開淘寶APP,首頁就會有天貓、聚劃算等服務的鏈接,當你點擊以后就直接跳過去了,并沒有讓你再登錄一次

三、OAuth2.0

OAuth2.0有多種模式,這里講的是OAuth2.0授權碼模式,OAuth2.0的流程跟SSO差不多,在OAuth2中,有授權服務器、資源服務器、客戶端這樣幾個角色,當我們用它來實現SSO的時候是不需要資源服務器這個角色的,有授權服務器和客戶端就夠了。

授權服務器當然是用來做認證的,客戶端就是各個應用系統,我們只需要登錄成功后拿到用戶信息以及用戶所擁有的權限即可

用戶在某網站上點擊使用微信授權,這里的某網站就類似業務系統,微信授權服務器就類似單點登錄系統

之后微信授權服務器返回一個確認授權頁面,類似登錄界面,這個頁面當然是微信的而不是業務系統的

用戶確認授權,類似填寫了賬號和密碼,提交后微信鑒權并返回一個ticket,并重定向業務系統。

業務系統帶上ticket訪問微信服務器,微信服務器返回正式的token,業務系統就可以使用token獲取用戶信息了

簡介一下OAuth2.0的四種模式:

授權碼(authorization-code)

授權碼(authorization code)方式,指的是第三方應用先申請一個授權碼,然后再用該碼獲取令牌。這種方式是最常用的流程,安全性也最高,它適用于那些有后端的 Web 應用。授權碼通過前端傳送,令牌則是儲存在后端,而且所有與資源服務器的通信都在后端完成。這樣的前后端分離,可以避免令牌泄漏。

隱藏式(implicit)

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

密碼式(password)

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

客戶端憑證(client credentials)

最后一種方式是憑證式(client credentials),適用于沒有前端的命令行應用,即在命令行下請求令牌。

簡單流程

f961ef00-5dc7-11ed-a3b6-dac502259ad0.png

四、說一下幾個名詞的區別

首先,SSO是一種思想,或者說是一種解決方案,是抽象的,我們要做的就是按照它的這種思想去實現它

其次,OAuth2是用來允許用戶授權第三方應用訪問他在另一個服務器上的資源的一種協議,它不是用來做單點登錄的,但我們可以利用它來實現單點登錄。在本例實現SSO的過程中,受保護的資源就是用戶的信息(包括,用戶的基本信息,以及用戶所具有的權限),而我們想要訪問這這一資源就需要用戶登錄并授權,OAuth2服務端負責令牌的發放等操作,這令牌的生成我們采用JWT,也就是說JWT是用來承載用戶的Access_Token的

最后,Spring Security、Shiro是用于安全訪問的,用來做訪問權限控制,都是一個用Java寫的框架

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    14

    文章

    10251

    瀏覽量

    91480
  • SSO
    SSO
    +關注

    關注

    0

    文章

    9

    瀏覽量

    7716

原文標題:SSO 單點登錄和 OAuth2.0 的區別和理解

文章出處:【微信號:AndroidPush,微信公眾號:Android編程精選】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    京東API助力:自動化庫存管理,降本增效!

    開發者權限 登錄京東開放平臺(open.jd.com),創建應用并獲取關鍵憑證: app_key:應用唯一標識 app_secret:接口簽名密鑰 access_token:OAuth2.0授權令牌
    的頭像 發表于 12-23 15:46 ?242次閱讀
    京東API助力:自動化庫存管理,降本增效!

    12V應用通用功率評估板設計:SSO8與TLE9879QXA40的完美結合

    12V應用通用功率評估板設計:SSO8與TLE9879QXA40的完美結合 作為電子工程師,我們常常面臨著為特定應用設計高效、可靠評估板的挑戰。今天,就來和大家分享一款專為12V應用設計的通用
    的頭像 發表于 12-19 16:50 ?737次閱讀

    EVAL_7116G_100V_SSO8評估板:助力功率電子系統設計

    EVAL_7116G_100V_SSO8評估板:助力功率電子系統設計 在功率電子系統的設計和開發過程中,評估板是工程師們驗證和測試關鍵組件性能的重要工具。今天,我們就來詳細探討一下Infineon
    的頭像 發表于 12-19 11:35 ?506次閱讀

    qi2.2和qi2.0區別

    Qi2.0與Qi2.2在功率、兼容性和場景應用上各有突破,Qi2.2提升功率至25W,支持跨品牌兼容,推動無線充電技術發展。
    的頭像 發表于 10-26 08:15 ?1710次閱讀
    qi2.2和qi<b class='flag-5'>2.0</b>的<b class='flag-5'>區別</b>

    PCB設計中單點接地與多點接地的區別與設計要點

    常見的接地策略,分別適用于不同的場景。下面為您解析兩者的核心區別及設計要點,幫助您更好地理解如何選擇適合的接地方案。 PCB設計單點接地與多點接地區別與設計要點 一、
    的頭像 發表于 10-10 09:10 ?1980次閱讀
    PCB設計中<b class='flag-5'>單點</b>接地與多點接地的<b class='flag-5'>區別</b>與設計要點

    京東電子面單API對接指南:實現訂單自動打單,發貨效率提升300%

    app_key 32位字符串 開放平臺申請 access_token OAuth2.0鑒權令牌 授權回調獲取 logistics_id 物流公司編碼 服務商注冊 注:需完成 企業實名認證 且開通
    的頭像 發表于 09-22 14:45 ?478次閱讀
    京東電子面單API對接指南:實現訂單自動打單,發貨效率提升300%

    阿里巴巴開放平臺關鍵字搜索商品接口實戰詳解:OAuth2.0 認證落地 + 檢索效率優化(附避坑代碼)

    在 B2B 電商數據對接中,阿里巴巴開放平臺的關鍵字搜索商品接口(alibaba.aliindex.search)是獲取批發商品、供應商數據的核心通道。但多數開發者會卡在OAuth2.0 認證斷連
    的頭像 發表于 09-16 16:26 ?941次閱讀

    如何自動登錄TestStand

    啟動TestStand時彈出的登錄界面,在日常使用中并無大礙,但當項目需要通過LabVIEW調用TestStand序列文件時,這個環節就會破壞程序運行的流暢性。
    的頭像 發表于 08-28 10:43 ?1162次閱讀
    如何自動<b class='flag-5'>登錄</b>TestStand

    ROHS檢測儀的1.0與2.0區別 國產檢測設備品牌新機會

    ”。企業在選擇檢測設備時,必須清晰地認識到1.0與2.0區別,并著眼于未來法規的持續收緊,選擇能夠滿足當前及未來檢測需求的先進設備。
    的頭像 發表于 08-22 08:32 ?1227次閱讀
    ROHS檢測儀的1.0與<b class='flag-5'>2.0</b><b class='flag-5'>區別</b> 國產檢測設備品牌新機會

    單點失效保護的15W電源管理方案

    芯片單點失效保護是一種關鍵的安全設計機制,旨在確保當芯片的某一組件發生故障時,系統不會完全崩潰或引發連鎖性失效,而是進入預設的安全狀態。今天推薦的15W電源管理方案,主控芯片就自帶單點失效保護功能。接下來,一起走進U6218C+U7712電源方案組合!
    的頭像 發表于 07-08 13:44 ?907次閱讀
    帶<b class='flag-5'>單點</b>失效保護的15W電源管理方案

    復合機器人為什么要使用單點糾偏算法?

    復合機器人單點糾偏算法
    的頭像 發表于 04-20 14:59 ?687次閱讀
    復合機器人為什么要使用<b class='flag-5'>單點</b>糾偏算法?

    鴻蒙應用元服務開發-Account Kit配置登錄權限

    一、場景介紹 華為賬號登錄是基于OAuth 2.0協議標準和OpenID Connect協議標準構建的OAuth2.0 授權登錄系統,元服務
    發表于 04-15 16:03

    SSH遠程登錄與控制教程

    SSH(Secure Shell)是一種安全通道協議,主要用來實現字符界面的遠程登錄、遠程 復制等功能。SSH 協議對通信雙方的數據傳輸進行了加密處理,其中包括用戶登錄時輸入的用戶口令,SSH 為建立在應用層和傳輸層基礎上的安全協議。對數據進行壓縮,加快傳輸速度。
    的頭像 發表于 04-09 13:43 ?4290次閱讀
    SSH遠程<b class='flag-5'>登錄</b>與控制教程

    無法登錄和使用NXP GUI GUIDER 1.9.0怎么解決?

    啟動 NXP GUI GUIDER 時,有一個需要登錄的阻止窗口。當我嘗試記錄時,它以顯示錯誤結束:“登錄檢查失敗,請再次登錄”。 因此,由于登錄窗口被阻止,因此無法使用該軟件。我確定
    發表于 04-07 08:44

    華為乾坤云管理解決方案2.0正式發布

    ”)、CypressTel賽柏特通信技術有限公司(以下簡稱“CypressTel賽柏特”)等核心合作伙伴齊聚一堂,共同探討AI時代下云管理網絡技術的前沿趨勢,并見證了華為乾坤云管理解決方案2.0的正式發布。
    的頭像 發表于 03-26 11:24 ?1508次閱讀