国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Oauth2.0 單點(diǎn)登錄 + 第三方授權(quán)認(rèn)證】用戶認(rèn)證、授權(quán)模式

這篇具有很好參考價值的文章主要介紹了【Oauth2.0 單點(diǎn)登錄 + 第三方授權(quán)認(rèn)證】用戶認(rèn)證、授權(quán)模式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

本文主要對 SpringSecurity Oauth 2.0用戶認(rèn)證,授權(quán)碼授權(quán)模式、密碼授權(quán)模式,以及授權(quán)流程進(jìn)行講解

1. 用戶認(rèn)證方式

1.1 用戶認(rèn)證

開發(fā)中,有些功能只有管理員才有,普通用戶是沒有的。即需要對用戶的身份進(jìn)行認(rèn)證,是管理員還是普通用戶。認(rèn)證方式有兩種:

  • 身份認(rèn)證:
    • 用戶在訪問相應(yīng)資源時對用戶的身份信息進(jìn)行驗證,身份合法才可以繼續(xù)訪問。
    • 常見用戶認(rèn)證方式:用戶密碼登錄,指紋打卡。簡單來說就是校驗用戶賬號密碼是否正確。
  • 用戶授權(quán):
    • 用戶認(rèn)證通過后,系統(tǒng)會判斷用戶是否擁有訪問資源的權(quán)限,只允許訪問有權(quán)限的資源系統(tǒng),沒有權(quán)限的無法訪問,這個過程叫用戶授權(quán)(鑒定角色)。

因而用戶認(rèn)證(登錄)成功后還需要鑒權(quán),判斷用戶是否有權(quán)限訪問相應(yīng)資源。

1.2 單點(diǎn)登錄認(rèn)證

  • 單點(diǎn)登錄(Single Sign On),簡稱 SSO 。
  • 用戶在訪問每個微服務(wù)時,都需要驗證身份信息,如果每一個微服務(wù)都登錄一次就太麻煩了。因而用戶在一個微服務(wù)系統(tǒng)中登錄后,不用登錄也可以訪問其他微服務(wù),這個功能就叫單點(diǎn)登錄 。
  • 簡單來說就是用戶只需要登錄一個微服務(wù)系統(tǒng)就可以免登錄訪問其他微服務(wù)系統(tǒng)。

1.3 第三方賬號登錄認(rèn)證

很多項目中,我們都可以使用第三方QQ、微信等平臺賬號登錄,用戶通過一個賬號就可以登錄很多平臺,十分便利。
【Oauth2.0 單點(diǎn)登錄 + 第三方授權(quán)認(rèn)證】用戶認(rèn)證、授權(quán)模式

1.4 第三方認(rèn)證原理

當(dāng)需要訪問第三方系統(tǒng)的資源時,首先需要通過第三方的認(rèn)證(比如:微信認(rèn)證),由第三方系統(tǒng)對用戶認(rèn)證。若認(rèn)證通過則允許訪問相應(yīng)資源。

如下圖,當(dāng)用戶在訪問搶單頁面時,需要先通過微信登錄進(jìn)行身份認(rèn)證,認(rèn)證通過才允許搶單。
【Oauth2.0 單點(diǎn)登錄 + 第三方授權(quán)認(rèn)證】用戶認(rèn)證、授權(quán)模式

2. 認(rèn)證技術(shù)解決方案

2.1 單點(diǎn)登錄解決方案

分布式系統(tǒng)要實現(xiàn)單點(diǎn)登錄,通常將認(rèn)證系統(tǒng)獨(dú)立抽取出來作為用戶登錄和授權(quán)使用,并且將用戶身份信息存儲在單獨(dú)的存儲介質(zhì),比如:MySQL、Redis,出于對性能的考慮通常放在Redis中。

如下圖,我們將暢購認(rèn)證系統(tǒng)作為單點(diǎn)登錄用戶認(rèn)證系統(tǒng),用戶通過該系統(tǒng)登錄,系統(tǒng)會返回一個token給用戶,同時存儲一份到Redis中,用戶每次訪問其他微服務(wù)都會攜帶token,微服務(wù)會調(diào)用暢購認(rèn)證服務(wù)驗證token權(quán)限,暢購認(rèn)證服務(wù)通過查詢Redis中有沒有改token完成認(rèn)證,若認(rèn)證通過則允許用戶訪問。
【Oauth2.0 單點(diǎn)登錄 + 第三方授權(quán)認(rèn)證】用戶認(rèn)證、授權(quán)模式

Java中還有很多用戶認(rèn)證的框架都可以實現(xiàn)單點(diǎn)登錄:

  • Apache Shiro
  • CAS
  • Spring security CAS
  • Oauth2(可以實現(xiàn)單點(diǎn)登錄 和 第三方認(rèn)證)

單點(diǎn)登錄特點(diǎn):

  • 認(rèn)證系統(tǒng)為獨(dú)立的系統(tǒng)。
  • 各個子系統(tǒng)通過HTTP或其他協(xié)議與認(rèn)證系統(tǒng)通信,完成用戶認(rèn)證。
  • 用戶身份信息存儲在Redis集群中。

2.2 Oauth 2 認(rèn)證

  • Oauth(開放授權(quán))是一個開放標(biāo)準(zhǔn),即不管是否受信任的服務(wù)都可以訪問。
  • 允許用戶授權(quán)第三方移動應(yīng)用訪問它們存儲在另外的服務(wù)器上的信息,并且不需要提供賬號密碼就可以獲取。也就是用戶不需要在當(dāng)前系統(tǒng)中用系統(tǒng)賬號登錄,當(dāng)前系統(tǒng)就可以獲取用戶的微信賬號信息(頭像、用戶名等)。

2.3 Oauth 2 認(rèn)證原理

授權(quán)碼模式授權(quán):

  1. 用戶通過第三方賬號登錄當(dāng)前系統(tǒng),用戶授權(quán)允許當(dāng)前系統(tǒng)使用第三方賬號登錄當(dāng)前系統(tǒng),
  2. 第三方賬號平臺會創(chuàng)建一個授權(quán)碼返回給當(dāng)前系統(tǒng),當(dāng)前系統(tǒng)通過授權(quán)碼去第三方賬號平臺申請token,
  3. 用戶每次訪問的時候相應(yīng)頁面的時候,系統(tǒng)會攜帶令牌到第三方服務(wù)中認(rèn)證用戶令牌,認(rèn)證通過才允許訪問。

密碼授權(quán)模式和授權(quán)碼原理差不多,只不過需要賬號密碼登錄。

2.4 微服務(wù)環(huán)境Oauth 2 實現(xiàn)

【Oauth2.0 單點(diǎn)登錄 + 第三方授權(quán)認(rèn)證】用戶認(rèn)證、授權(quán)模式

3. 公鑰私鑰

每個用戶都有一個公鑰和私鑰:

  • 公鑰加密
  • 私鑰解密

用戶可以將自己的公鑰給別人(私鑰不會給別人),別人通過公鑰加密信息,傳給自己,自己通過私鑰解密。保證數(shù)據(jù)的安全性。文章來源地址http://www.zghlxwxcb.cn/news/detail-400787.html

到了這里,關(guān)于【Oauth2.0 單點(diǎn)登錄 + 第三方授權(quán)認(rèn)證】用戶認(rèn)證、授權(quán)模式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spring Boot整合OAuth2實現(xiàn)GitHub第三方登錄

    Github OAuth 第三方登錄示例 第三方登錄的原理是借助OAuth授權(quán)來實現(xiàn),首先用戶先向客戶端提供第三方網(wǎng)站的數(shù)據(jù)證明自己的身份獲取授權(quán)碼,然后客戶端拿著授權(quán)碼與授權(quán)服務(wù)器建立連接獲得一個Access Token,之后客戶端就可以通過Access Token來與資源服務(wù)器進(jìn)行交互。 使用O

    2024年02月08日
    瀏覽(89)
  • Spring Boot 最新版3.x 集成 OAuth 2.0實現(xiàn)認(rèn)證授權(quán)服務(wù)、第三方應(yīng)用客戶端以及資源服務(wù)

    Spring Boot 最新版3.x 集成 OAuth 2.0實現(xiàn)認(rèn)證授權(quán)服務(wù)、第三方應(yīng)用客戶端以及資源服務(wù)

    Spring Boot 3 已經(jīng)發(fā)布一段時間,網(wǎng)上關(guān)于 Spring Boot 3 的資料不是很多,本著對新技術(shù)的熱情,學(xué)習(xí)和研究了大量 Spring Boot 3 新功能和新特性,感興趣的同學(xué)可以參考 Spring 官方資料全面詳細(xì)的新功能/新改進(jìn)介紹 Spring 版本升級到6.x JDK版本至少17+ … 新特性有很多,本文主要針對

    2024年02月02日
    瀏覽(95)
  • 34、商城系統(tǒng)(十五):認(rèn)證服務(wù),短信驗證碼,密碼加鹽,OAuth2.0社交登錄,SpringSession認(rèn)證功能,單點(diǎn)登錄

    目錄 一、新建認(rèn)證服務(wù) 1.后端項目啟動 2.前端頁面復(fù)制 3.配置域名 4.配置gateway

    2024年02月19日
    瀏覽(17)
  • OAuth 2.0 協(xié)議介紹【實現(xiàn) GitHub 第三方登錄】

    OAuth 2.0 協(xié)議介紹【實現(xiàn) GitHub 第三方登錄】

    OAuth(是 Open Authorization 開放授權(quán)的縮寫),在全世界得到廣泛應(yīng)用,目前的版本是2.0版。 本文會對OAuth 2.0的設(shè)計思路和運(yùn)行流程,做一個簡明通俗的解釋,主要參考材料為RFC 6749。 OAuth 2.0 是一個開放標(biāo)準(zhǔn),用于授權(quán)用戶訪問另一個應(yīng)用程序的資源,而無需將用戶的憑據(jù)(比如

    2024年02月20日
    瀏覽(25)
  • 實現(xiàn) Google 第三方授權(quán)登錄

    實現(xiàn) Google 第三方授權(quán)登錄

    最近做項目要實現(xiàn)Google的第三方登錄,這簡單的記錄一下。 目前Google的第三方登錄有很多方案,且官方提供SDK方便接入。但是我這個項目同時要實現(xiàn)網(wǎng)頁和客戶端。所以選擇了?Google OAuth 2.0?的方案。 當(dāng)然,也可以?《實現(xiàn) Facebook 第三方授權(quán)登錄》 Google 的 OAuth 2.0 流程 首先

    2024年02月09日
    瀏覽(22)
  • 【深入淺出 Spring Security(十二)】使用第三方(Github)授權(quán)登錄

    【深入淺出 Spring Security(十二)】使用第三方(Github)授權(quán)登錄

    (Github授權(quán)登錄的具體操作在目錄第三“章”) 下面是《深入淺出Spring Security》書中的一段概述: OAuth 是一個開放標(biāo)準(zhǔn)(現(xiàn)在所說的 OAuth 一般都是指 OAuth2,即 2.0 版本),可以理解為是一種協(xié)議,該標(biāo)準(zhǔn)允許用戶讓第三方應(yīng)用訪問該用戶在某一網(wǎng)站上存儲的私密資源(如頭

    2024年02月10日
    瀏覽(33)
  • vue釘釘授權(quán)第三方網(wǎng)頁登錄,掃碼登錄,vue hash模式下回調(diào)地址錯誤踩坑

    vue接入釘釘?shù)卿浖坝龅降膯栴} 在index.html中引入 釘釘?shù)呐渲檬褂煤蠖伺渲煤玫?,通過接口返回,參數(shù)主要是重定向的url地址(需要encode),和client_id。 代碼如下: 掃碼完成之后,頁面會重定向到配置的地址上,附帶authCode就是需要這個參數(shù) 在created生命周期中使用自己項目的

    2024年02月13日
    瀏覽(135)
  • SpringCloud微服務(wù)實戰(zhàn)——搭建企業(yè)級開發(fā)框架:第三方登錄-微信小程序授權(quán)登錄流程設(shè)計和實現(xiàn)

    SpringCloud微服務(wù)實戰(zhàn)——搭建企業(yè)級開發(fā)框架:第三方登錄-微信小程序授權(quán)登錄流程設(shè)計和實現(xiàn)

    ??在前面的設(shè)計和實現(xiàn)中,我們的微服務(wù)開發(fā)平臺通過JustAuth來實現(xiàn)第三方授權(quán)登錄,通過集成公共組件,著實減少了很多工作量,大多數(shù)的第三方登錄直接通過配置就可以實現(xiàn)。而在第三方授權(quán)登錄中,微信小程序授權(quán)登錄和APP微信授權(quán)登錄是兩種特殊的第三方授權(quán)登錄

    2024年02月07日
    瀏覽(19)
  • Spring Boot 中如何使用 Spring Security OAuth2 來實現(xiàn)單點(diǎn)登錄

    Spring Boot 中如何使用 Spring Security OAuth2 來實現(xiàn)單點(diǎn)登錄

    在現(xiàn)代 Web 應(yīng)用程序中,單點(diǎn)登錄(Single Sign-On,簡稱 SSO)是一個非常重要的功能。Spring Security OAuth2 是 Spring Security 框架的一個擴(kuò)展,它提供了一種簡單的方式來實現(xiàn) SSO。在本文中,我們將介紹如何在 Spring Boot 應(yīng)用程序中使用 Spring Security OAuth2 來實現(xiàn)單點(diǎn)登錄。 在開始之前

    2024年02月06日
    瀏覽(23)
  • SpringBoot 如何使用 OAuth2 進(jìn)行認(rèn)證和授權(quán)

    OAuth2 是一種授權(quán)框架,可以用于實現(xiàn)第三方應(yīng)用程序訪問用戶資源的安全性。在 SpringBoot 中,我們可以使用 Spring Security 和 Spring OAuth2 來實現(xiàn) OAuth2 的認(rèn)證和授權(quán)功能。本文將介紹如何在 SpringBoot 中使用 OAuth2 進(jìn)行認(rèn)證和授權(quán)。 在開始介紹如何使用 OAuth2 進(jìn)行認(rèn)證和授權(quán)之前,

    2024年02月13日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包