一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內(nèi)不再提示

什么是單點登錄?解讀單點登錄兩個協(xié)議:SAML、OAuth2

jf_ro2CN3Fa ? 來源:jdon./banq ? 作者:jdon./banq ? 2022-11-14 14:44 ? 次閱讀

什么是單點登錄?

SSO 的類型

單點登錄 SSO 的好處

什么是 SAML(安全斷言標記語言)?

SAML 術(shù)語

什么是 OAuth2?

什么是 OpenID Connect (OIDC)?

OIDC 用于對用戶進行身份驗證

啟用 OAuth2 和 OIDC 的示例登錄頁面

OAuth2 流與 OIDC 集成

何時使用 SAML 以及何時使用 OAuth2(使用 OIDC)

在本文中,我們將了解單點登錄 (SSO) 和 SSO 廣泛使用的兩種協(xié)議,即 SAML 和OAuth2。這是任何程序員都需要理解的復(fù)雜領(lǐng)域之一。

什么是單點登錄?

單點登錄 (SSO) 是用戶可以使用一組憑據(jù)登錄多個應(yīng)用程序的過程。考慮到如今網(wǎng)站的數(shù)量以及其中大多數(shù)都要求進行身份驗證,這是一個方便且高效的功能。我們都知道,我們無法為每個應(yīng)用程序跟蹤如此多的憑據(jù)集。SSO 來救援了?。?!用戶無需一遍又一遍地建立身份,只需對用戶進行一次身份驗證,然后就可以訪問多個不同的服務(wù)和應(yīng)用程序。一個這樣的功能的例子是谷歌。只需一次登錄,您就可以訪問他們的所有服務(wù),例如 Gmail、照片、云端硬盤等等。其他應(yīng)用程序還允許用戶使用 Google 登錄進行身份驗證,前提是他們的系統(tǒng)與 Google、Facebook 等身份提供商集成

SSO 的類型

提供 SSO 的標準和協(xié)議有很多,其中一些著名的是

安全訪問標記語言 (SAML)

開放授權(quán) (OAuth)

開放 ID 連接 (OIDC)

Web 服務(wù)聯(lián)合 (WS-Federation)

Kerberos

在本文的后面部分,我們將詳細介紹 SAML、OAuth2 和 OIDC。

單點登錄 SSO 的好處

SSO 有很多好處,如下所示

降低訪問第三方網(wǎng)站的風險

減少為同一身份重新輸入密碼所花費的時間

更簡單的審計管理和使用

更好的行政控制

提高用戶生產(chǎn)力

更好的網(wǎng)絡(luò)安全

減少攻擊面

無縫且安全的用戶訪問

什么是 SAML(安全斷言標記語言)?

SAML 是一種基于 XML 的標準,用于在 IdP 和服務(wù)提供商之間交換身份驗證和授權(quán)數(shù)據(jù),以驗證用戶的身份和權(quán)限,然后授予或拒絕他們對服務(wù)的訪問權(quán)限。SAML 是一種開放標準,已成為 SSO 的核心標準之一。SAML 使用身份提供者發(fā)送給服務(wù)提供者的稱為斷言(包含用戶授權(quán))的 XML 文檔。SAML 2.0 于 2005 年推出,并且仍然是該標準的當前版本。SAML 2.0 專門針對 Web 應(yīng)用程序進行了優(yōu)化,使信息能夠通過 Web 瀏覽器傳輸

SAML 術(shù)語

IdP——身份提供者

SP - 服務(wù)提供商

用戶——使用系統(tǒng)訪問服務(wù)提供商服務(wù)的用戶

典型的 SAML 工作流由 IdP、SP 和用戶組成。用戶信息作為斷言發(fā)送。讓我們假設(shè)用戶有一個 Idp 帳戶并擁有有效的憑據(jù)

d5c48db2-6238-11ed-8abf-dac502259ad0.png

讓我們將上圖分解為多個步驟,以便于理解

用戶轉(zhuǎn)到服務(wù)提供商并單擊 SAML 登錄

SP 將請求重定向到身份提供者

身份提供者向用戶顯示登錄頁面以輸入憑據(jù)

輸入憑據(jù)后,SAML IdP 會驗證其 Active Directory 或數(shù)據(jù)庫中的憑據(jù)

驗證后,SAML 響應(yīng)會以 XML 格式發(fā)送帶有斷言,如上所示

然后用戶將登錄到應(yīng)用程序

什么是 OAuth2?

OAuth 是比 SAML 更新的標準,由 Google 和 Twitter 于 2006 年開始聯(lián)合開發(fā)。它的開發(fā)部分是為了彌補 SAML 在移動平臺上的不足,并且基于JSON而不是 XML。OAuth2 廣泛使用 JWT 令牌,因此比 SAML 更輕、更快。

在深入探討 OAuth2 和 OIDC 之前,讓我們先看看使用的術(shù)語OAuth2 術(shù)語

授權(quán)服務(wù)器——(例如:谷歌)

資源服務(wù)器——(例如:Bitbucket)

資源所有者——使用系統(tǒng)從資源服務(wù)器訪問服務(wù)的用戶(例如:Bitbucket 用戶)

OAuth2 協(xié)議允許授權(quán)服務(wù)器在獲得資源所有者(用戶)的同意后向第三方應(yīng)用程序頒發(fā)訪問令牌這些訪問令牌被 Bitbucket、Slack 等第三方應(yīng)用程序用于訪問資源提供的資源服務(wù)器。

如果您已注冊新應(yīng)用程序并同意從 Google/Facebook 等導(dǎo)入聯(lián)系人,則您必須已經(jīng)使用過 OAuth2。您可能使用了要求您在 Facebook/Instagram 等上分享您的帖子或照片的功能。這是OAuth2 協(xié)議,提供安全的委托訪問,無需共享憑據(jù)OAuth2 僅用于授權(quán)而不用于身份驗證

什么是 OpenID Connect (OIDC)?

使用 OpenID,用戶的憑據(jù)僅在瀏覽器路由請求后由授權(quán)服務(wù)器使用。驗證后,將向用戶頒發(fā)訪問令牌,用戶可以通過該令牌訪問多個應(yīng)用程序,而無需與每個應(yīng)用程序共享其憑據(jù)。如果您已使用 Google / Facebook / Twitter 登錄名登錄應(yīng)用程序,則您必須已經(jīng)使用過 OIDC。OpenID Connect 是組織用來驗證用戶身份的開放標準。

OIDC 用于對用戶進行身份驗證

將 OIDC 與 OAuth2 結(jié)合使用OAuth 是一種開放標準的授權(quán)協(xié)議,用于授權(quán)用戶,OIDC 用于驗證用戶。OIDC 位于 OAuth 2.0 之上,以添加有關(guān)用戶的信息并啟用 SSO 流程。它允許跨多個應(yīng)用程序使用一個登錄會話。例如,如下所示,您可以使用社交媒體登錄來訪問應(yīng)用程序,而無需在應(yīng)用程序中創(chuàng)建帳戶

啟用 OAuth2 和 OIDC 的示例登錄頁面

d5f169cc-6238-11ed-8abf-dac502259ad0.png

OAuth2 流與 OIDC 集成

d60e6ed2-6238-11ed-8abf-dac502259ad0.jpg

上圖解釋了當您使用 Google 登錄應(yīng)用程序時發(fā)生的整個過程。步驟的數(shù)量可能看起來很復(fù)雜,但整個過程在幾毫秒到幾秒內(nèi)結(jié)束。讓我們一步一步地分解它。假設(shè)用戶已經(jīng)有 Google 的登錄帳戶

用戶進入 Bitbucket 頁面登錄

用戶點擊使用 Google 登錄

瀏覽器將用戶重定向到 Google 登錄頁面

Google 顯示憑據(jù)頁面供用戶輸入憑據(jù)

用戶輸入谷歌憑據(jù)并點擊提交

Google 驗證憑據(jù)并生成訪問令牌并將其發(fā)送到瀏覽器

瀏覽器在Authorization Header中嵌入Access Token(Bearer Token),將用戶的登錄請求發(fā)送到BitBucket服務(wù)器

Bitbucket 服務(wù)器將聯(lián)系 Google 驗證訪問令牌并響應(yīng)瀏覽器

現(xiàn)在用戶登錄到 Bitbucket 應(yīng)用程序

何時使用 SAML 以及何時使用 OAuth2(使用 OIDC)

盡管 SAML 在企業(yè)設(shè)置中可能看起來更優(yōu)越,但在某些情況下 OAuth 是有意義的。

政府應(yīng)用程序的身份管理:政府數(shù)據(jù)的機密、敏感性質(zhì)需要具有更強的安全性,而 SAML 將適合這種情況。例如:新加坡政府使用一個名為SingPass的基于 SAML 的系統(tǒng)作為其居民使用所有基于政府的服務(wù)的數(shù)字登錄名

用戶體驗是重中之重:OAuth2 最適合用戶體驗,因為它在移動設(shè)備上運行良好。而且它很輕。

移動和消費者應(yīng)用程序:OAuth2 在移動設(shè)備和消費者應(yīng)用程序上運行良好,因為會話往往更短

虛擬桌面基礎(chǔ)架構(gòu) (VDI) 實施:使用 SAML。VDI 將被企業(yè)內(nèi)的許多員工使用。

資源需要臨時訪問:OAuth2 非常適合臨時訪問,因為它是為此目的而設(shè)計的

在本文中,我們看到了 SSO 的類型和優(yōu)勢。然后我們深入研究了兩個著名的 SSO 協(xié)議,即 SAML 和 OAuth2。在探索OAuth2時,我們看到了 OAuth2 和 OIDC 之間的細微差別,然后看到了兩者結(jié)合的用例。本文以哪些協(xié)議可用于某些用例結(jié)束。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 協(xié)議
    +關(guān)注

    關(guān)注

    2

    文章

    612

    瀏覽量

    39690
  • SSO
    SSO
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    7560
  • SAML
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    8267
  • 單點登錄
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    6390

原文標題:單點登錄必知的兩個著名協(xié)議:SAML、OAuth2

文章出處:【微信號:芋道源碼,微信公眾號:芋道源碼】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    串聯(lián)單點和并聯(lián)單點及混合接地的介紹

    串聯(lián)單點和并聯(lián)單點及混合接地的介紹 串聯(lián)單點接地結(jié)構(gòu)由于簡
    發(fā)表于 10-03 18:03 ?8877次閱讀
    串聯(lián)<b class='flag-5'>單點</b>和并聯(lián)<b class='flag-5'>單點</b>及混合接地的介紹

    基于SAML單點登錄安全服務(wù)體系的應(yīng)用研究

    安全斷言標記語言SAML是讓互相信賴的雙方可以交換安全相關(guān)信息的一個XML架構(gòu),它定義了不同系統(tǒng)之間安全服務(wù)交換認證和授權(quán)信息的機制,單點登錄技術(shù)SSO是實現(xiàn)集成身份認證
    發(fā)表于 06-20 09:11 ?18次下載

    基于改進Kerberos的Web單點登錄方案

    改進Kerberos 協(xié)議,提出了一種適用于Web 應(yīng)用系統(tǒng)的單點登錄解決方案。在給出Web 應(yīng)用單點登錄模型同時,分析用戶訪問受保護資源時
    發(fā)表于 08-25 09:12 ?14次下載

    一種結(jié)合Multi-Agent的單點登錄模型

    本文針對單點登錄技術(shù)(Single Sign-On SSO),結(jié)合網(wǎng)絡(luò)安全機制分析并指出目前各種SSO 模型的不足,提出基于broker(經(jīng)紀人)與Kerberos 混合認證的Multi-Agent(多代理)SSO 模型,采用
    發(fā)表于 08-29 11:24 ?8次下載

    一種SAML單點登錄實現(xiàn)方式的安全性研究

            文章介紹了SAML 技術(shù)及其定義的種消息傳遞方式。討論了SAML 單點
    發(fā)表于 09-05 10:19 ?11次下載

    科技資源應(yīng)用集成環(huán)境中的單點登錄研究

             本文首先分析了基于公鑰基礎(chǔ)設(shè)施的單點登錄模型的不足,在此基礎(chǔ)上,提出了一種基于PKI/PMI的單點
    發(fā)表于 09-10 09:46 ?15次下載

    基于SAML的WEB單點登錄系統(tǒng)安全模型設(shè)計

    本文從安全性、互操作性基礎(chǔ)上提出了一種基于SAML 規(guī)范的單點登錄模型,在設(shè)計本模型時,考慮到SAML 在安全性上的弱點,使用WS-Security 規(guī)范來保證
    發(fā)表于 01-15 15:01 ?12次下載

    基于SAML單點登陸模型的改進

    分析了種典型的基于SAML單點登錄模型,針對流程復(fù)雜的缺陷進行簡化,提出改進的單點登錄模型,
    發(fā)表于 09-01 16:13 ?15次下載

    基于Cookie的單點登錄技術(shù)

    在基于Web的多種應(yīng)用系統(tǒng)中需要統(tǒng)一身份認證和資源訪問控制機制,采用基于Cookie的單點登錄系統(tǒng)是一種很好的解決方案,它是一種基于HTTP重定向和票據(jù),并以跨域Cookie的共享為核
    發(fā)表于 09-01 16:18 ?13次下載

    單點接地

    單點接地 單點接地有種類型,一
    發(fā)表于 10-03 18:01 ?1.8w次閱讀
    <b class='flag-5'>單點</b>接地

    基于角色訪問控制的單點登錄模型研究與設(shè)計

    為了解決復(fù)雜Web服務(wù)中用戶認證與權(quán)限管理的問題,對單點登錄技術(shù)的進行了研究。在此基礎(chǔ)上,根據(jù)單點登錄技術(shù)的特點結(jié)合基于角色的控制訪問提出了基于角色訪問控制的
    發(fā)表于 12-17 10:59 ?24次下載
    基于角色訪問控制的<b class='flag-5'>單點</b><b class='flag-5'>登錄</b>模型研究與設(shè)計

    跨終端的單點登錄系統(tǒng)的設(shè)計與實現(xiàn)杜建棟

    跨終端的單點登錄系統(tǒng)的設(shè)計與實現(xiàn)_杜建棟
    發(fā)表于 03-15 08:00 ?0次下載

    一種基于Cookie的跨域單點登錄方案設(shè)計

    針對多應(yīng)用系統(tǒng)下用戶需多次進行身份認證導(dǎo)致工作效率較低及系統(tǒng)安全性差的問題,提出了一種基于Cookie的跨域單點登錄方案。用戶可以在不同域內(nèi)的應(yīng)用系統(tǒng)間安全有效地實現(xiàn)一處登錄,多處訪問。給出了方案
    發(fā)表于 11-20 09:52 ?6次下載
    一種基于Cookie的跨域<b class='flag-5'>單點</b><b class='flag-5'>登錄</b>方案設(shè)計

    單點登錄的實現(xiàn)方式有哪些

    前言 實現(xiàn)方式一:父域 Cookie 實現(xiàn)方式二:認證中心 實現(xiàn)方式三:LocalStorage 跨域 補充:域名分級 前言 在 B/S 系統(tǒng)中,登錄功能通常都是基于 Cookie 來實現(xiàn)的。當用
    的頭像 發(fā)表于 02-02 14:00 ?2350次閱讀
    <b class='flag-5'>單點</b><b class='flag-5'>登錄</b>的實現(xiàn)方式有哪些

    SSO單點登錄OAuth2.0的區(qū)別和理解

    者有很多相似之處,下面我們來解釋一下這個過程。先來講解SSO,通過SSO對比OAuth2.0,才比較好理解OAuth2.0的原理。SSO的實現(xiàn)有很多框架,比如CAS框架,以下是CAS框架的官方流程圖。特別注意:SSO是一種思想
    的頭像 發(fā)表于 11-07 11:41 ?860次閱讀