簡體   English   中英

在自定義端點上按需使用 SpringSecurity 的 OAuth2 功能

[英]Use SpringSecurity's OAuth2 functionality on demand on custom endpoint

我們有一個Spring Boot web 應用程序,它使用基於 JWT 的身份驗證/授權。 現在,我們要添加 OAuth2 支持,以便用戶可以使用他們的 Google 帳戶登錄。 使用Spring Security很容易做到這一點。

但是,要求有點不同。

如果用戶想使用谷歌登錄功能,他首先需要鏈接他們的谷歌賬戶。 基本上使用他/她的憑據登錄我們的應用程序,並在他們的個人資料頁面上鏈接他們的 Google 帳戶。

流程將類似於以下內容:

  1. 單擊用戶個人資料上的“鏈接 Google 帳戶”按鈕,將他們重定向到 Google
  2. 在 Google 中選擇您想要的帳戶
  3. 谷歌返回一個代碼。 之后,在經過身份驗證的端點上向我們的后端發出請求,例如POST /users/{userId}/accounts將接收 Google 返回的令牌
  4. 在后端,通過向 Google 發出請求來驗證此令牌
  5. 如果一切正常,請通過相應更新數據庫將用戶帳戶與 Google 關聯

我的問題是,對於第 4 步,最佳做法是什么? 我如何使用Spring Security提供的所有東西來實現這一目標?

先感謝您,

您擁有授權碼,並在 https 和后端交換訪問令牌。

無需在您的最后驗證訪問令牌(我認為 spring 安全性甚至不會為與 google 集成做這部分)。

當您請求其資源時,這應該由谷歌完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM