我對如何處理OAuth2協議中的作用域有一個普遍的疑問。爲便於論證,我們從一個具體的例子開始:OAuth2協議中的作用域處理
假設我有一個OAuth服務器A,我想用它來保護兩個RESTful API R1
和R2
。這兩個服務具有特殊的作用域,用於授予用戶對某些受保護資源的訪問權限。因此可以說R1
需要範圍S1
和R2
需要範圍S2
爲了訪問一些受限制的資源。
我們進一步假定OAuth服務器A
也使用範圍email
和profile
,它們需要訪問OAuth服務器自身管理的用戶數據。
現在,這是我有麻煩了解。據我所見,OAuth服務器A
通常只知道如何處理他自己使用的範圍(在本例中爲email
和profile
)。但是,爲了訪問兩個API上的受限功能(R1
需要S1
和R2
需要S2
),需要使用哪些範圍?
我是否必須使用OAuth服務器手動註冊這些範圍(以便知道它們存在並可以在需要時授予它們)?這又意味着我需要使用OAuth服務器註冊所有我想保護/使用的API的範圍。
這些假設是否正確?如果我在這裏遇到問題,也許有人可以通過解釋整個範圍處理通常如何實現來幫助我。我試圖谷歌oauth2和範圍,但似乎沒有很好的解釋如何確切的範圍在協議中處理。
因此,要包裝起來,在OAuth服務器'A'中實現允許管理範圍(CRUD)的功能似乎是個好主意。所以服務器真的需要知道受保護服務所需的所有範圍嗎?感謝您的回答! – evermean