簡體   English   中英

使用身份驗證 JWT 令牌作為 OAuth 的“狀態”

[英]Using authentication JWT token as "state" with OAuth

我正在使用 Instagram 構建 OAuth 身份驗證,問題是我正在使用本機反應並且過程發生在 webbrowser 模塊中,所以流程是這樣的

  1. 用戶單擊應用程序中的登錄按鈕。
  2. 代碼( expo-web-browser )打開 instagram 授權窗口,用戶輸入憑據。
  3. 代碼生成並發送到我的回調 url。

我解析該代碼並交換access_token和userId,但我還需要訪問我的應用程序用戶的ID,除了在狀態參數中傳遞jwt然后在回調路由中解析它之外,我沒有找到任何其他方法,但作為狀態最初是為安全而構建的,這不是它的主要用例,我會面臨這條路徑上的任何安全威脅嗎?

由於 state 最初是為安全而構建的,這不是它的主要用例,我會面臨這條道路上的任何安全威脅嗎?

對於您的用例,如果攻擊者可以猜到狀態,您將失去所有好處。 我在這里推薦的是一種結構化的狀態。 例如,您可以生成一個隨機字符串並將其連接到您想要返回的數據:

{"userID":"user123","data":"another important data"}:put here a random string that act as a state

如果存在特定字符,您可以將數據編碼為安全的 base64 url

暫無
暫無

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

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