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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringSecurity OAuth2四种模式说明

發布時間:2024/4/14 javascript 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringSecurity OAuth2四种模式说明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

OAuth2.0中四種授權方式

授權碼模式(authorization code)

流程

說明:【A服務客戶端】需要用到【B服務資源服務】中的資源

  • 第一步:【A服務客戶端】將用戶自動導航到【B服務認證服務】,這一步用戶需要提供一個回調地址,以備 【B服務認證服務】返回授權碼使用。
  • 第二步:用戶點擊授權按鈕表示讓【A服務客戶端】使用【B服務資源服務】,這一步需要用戶登錄B服務,也 就是說用戶要事先具有B服務的使用權限。
  • 第三步:【B服務認證服務】生成授權碼,授權碼將通過第一步提供的回調地址,返回給【A服務客戶端】。 注意這個授權碼并非通行【B服務資源服務】的通行憑證。
  • 第四步:【A服務認證服務】攜帶上一步得到的授權碼向【B服務認證服務】發送請求,獲取通行憑證token。
  • 第五步:【B服務認證服務】給【A服務認證服務】返回令牌token和更新令牌refresh token。

使用場景

授權碼模式是OAuth2中最安全最完善的一種模式,應用場景最廣泛,可以實現服務之間的調用,常見的微 信,QQ等第三方登錄也可采用這種方式實現。

簡化模式(implicit)

流程

說明:簡化模式中沒有【A服務認證服務】這一部分,全部有【A服務客戶端】與B服務交互,整個過程不再有 授權碼,token直接暴露在瀏覽器。

  • 第一步:【A服務客戶端】將用戶自動導航到【B服務認證服務】,這一步用戶需要提供一個回調地址,以備 【B服務認證服務】返回token使用,還會攜帶一個【A服務客戶端】的狀態標識state。
  • 第二步:用戶點擊授權按鈕表示讓【A服務客戶端】使用【B服務資源服務】,這一步需要用戶登錄B服務,也 就是說用戶要事先具有B服務的使用權限。
  • 第三步:【B服務認證服務】生成通行令牌token,token將通過第一步提供的回調地址,返回給【A服務客戶 端】。

使用場景

適用于A服務沒有服務器的情況。比如:純手機小程序,JavaScript語言實現的網頁插件等

密碼模式(resource owner password credentials)

流程

  • 第一步:直接告訴【A服務客戶端】自己的【B服務認證服務】的用戶名和密碼
  • 第二步:【A服務客戶端】攜帶【B服務認證服務】的用戶名和密碼向【B服務認證服務】發起請求獲取 token。
  • 第三步:【B服務認證服務】給【A服務客戶端】頒發token。

使用場景

此種模式雖然簡單,但是用戶將B服務的用戶名和密碼暴露給了A服務,需要兩個服務信任度非常高才能使 用

客戶端模式(client credentials)

流程

說明:這種模式其實已經不太屬于OAuth2的范疇了。A服務完全脫離用戶,以自己的身份去向B服務索取 token。換言之,用戶無需具備B服務的使用權也可以。完全是A服務與B服務內部的交互,與用戶無關了。

  • 第一步:A服務向B服務索取token。
  • 第二步:B服務返回token給A服務。

使用場景

A服務本身需要B服務資源,與用戶無關。

總結

以上是生活随笔為你收集整理的SpringSecurity OAuth2四种模式说明的全部內容,希望文章能夠幫你解決所遇到的問題。

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