[英]OAuth 2 - how to define dynamic resource authorization?
作為資源服務器,我想讓用戶更多地控制他們的資源。
例如,考慮我有一個支持 OAuth 2 的雲文件系統。
用戶可以代表他向客戶提供訪問文件的權限。
我希望資源服務器提供對特定文件夾的訪問,例如,只有照片而不是文檔。
文件夾的名稱是一種動態資源,因為它因用戶而異。
如何處理動態資源授權? 動態范圍?
此外,如果范圍是動態的,客戶端如何知道請求它?
* 在規范中找不到它:(
作為 OAuth 2.0 規范的文檔 rfc6749 定義了一種通過使用附加參數來擴展 OAuth 2 的方法(rfc6749#section-8.2)。 所以,如果你想用 OAuth 解決這個問題,你可以使用這種方法或類似的方法:
請記住,如果每個用戶的資源量不是很大(否則您可能會被范圍淹沒),這種方法效果更好。
另一種方法是在 OAuth 層后面添加額外的授權層。 這個附加層跟蹤關系客戶端/可訪問資源。
就在最近,我不得不熟悉 OAuth/OIDC,現在我面臨着同樣的問題——這是我目前能想到的——
無論如何,這就是我要嘗試為我自己的應用程序執行此操作的方式 - 沒有在網上找到有關此的任何資源確實令人驚訝。
在這里復活一個很老的問題,但我認為這個問題仍然存在。
要記住的一個有用的細節是客戶端請求的范圍和資源所有者允許的范圍不必相等。 事實上,RO 允許的范圍甚至不必是請求范圍的子集。
在您的情況下,RO 允許的范圍可以是一組資源 URL,由 RO 在授權步驟根據請求的范圍選擇。 然后,通過查看訪問令牌中的值並理解它們的含義,資源服務器將能夠動態地為請求的資源提供服務。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.