簡體   English   中英

我可以使用多個(access_token,refresh_token)來通過Gatekeeper在不同的客戶端/設備上為同一用戶提供服務嗎?

[英]Can I have multiple (access_token, refresh_token) to serve the same user on different client/devices with doorkeeper?

我正在保護僅Rails api的應用程序,我想使用OAuth2(密碼流)並使用Doorkeeper來實現 忽略了我找不到足夠清晰的文檔說明這一事實,我想到的用例是在多個設備/平台(例如Android,iOS,瀏覽器)上有多個客戶端的情況,它們都需要一個用戶登錄。 我希望能夠為每個新的登錄發出一個新的(access_token,refresh_token)對,它們都應該標識為該對創建的用戶。 也就是說,如果Alice通過Android和iOS登錄,而Bob通過兩個瀏覽器登錄,則我想要一條記錄,例如

| user_id | access_token | refresh_token | client_id        |
|---------|--------------|---------------|------------------|
| Alice   | a6d7f82h3hf  | d8f6g8d0e3    | Android-h3j4k5l6 |
| Alice   | 3j4k5j3l5k3  | 1hnrbtj5kc    | iOS-j2k35h3n     |
| Bob     | 513lkhbjkf3  | rhj2345bvj    | web-43nfm23      |
| Bob     | nbv234nbv65  | cbv124cr64    | web-gc62jh4      |

(數據完全組成)。 有人可以提供一個直接的答案,並可能為我提供與此相關的文檔,指南和教程嗎? 我知道我可以推出自己的身份驗證系統來實現此特定用例,並且我過去已經這樣做過,但是我希望借助OAuth2的靈活性來進行將來的改進。

我正在從事類似的工作,並且發現了這個有用的鏈接,可以實現簡單的密碼策略。 使用Doorkeeper,您將獲得以下記錄:

  • resource_owner_id(用戶ID)
  • 申請(已批准的申請)
  • 代幣
  • refresh_token
  • 過期日期在
  • 已撤銷
  • created_at
  • 范圍
  • previous_refresh_token

因此,您可以在不同的應用程序/客戶端上為同一用戶提供服務。

現在,我也遇到了Rails 5 API的問題,因為Doorkeeper使用視圖來授予應用程序權限。 有一個類似的問題#821 ,我只是在config / application.rb關閉api模式就解決了這個問題。

config.api_only = false

暫無
暫無

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

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