2016-06-01 31 views
0

我正在設計一個API,並決定使用OAuth2來控制對資源的訪問。我正在爲如何定義多個資源的範圍而苦苦掙扎,並希望其他人可能在過去解決了相同或類似的問題。如何爲多個資源定義oath2作用域?

我有3個資源:A,B,C.

我有已被賦予了客戶機:

  • READ訪問
  • 讀/寫訪問到B
  • 無法訪問C

在這種情況下應如何定義範圍?我想請求得到讀取訪問會是這樣的:

grant_type=client_credential&scope=A 

的請求獲得寫訪問到B是:

grant_type=client_credential&scope=B+write 

但是當你想同時你得到的東西像:

grant_type=client_credential&scope=A+B+write 

這使得它看起來像你想寫入訪問A和B!

OR ...也許我應該忘記範圍,並檢查客戶端是否具有適當的訪問權限?

回答

1

您可以定義4個示波器,A_read,A_write,B_readB_write

+0

同意,這是我已經去的解決方案。我將範圍定義爲以「{collection-name}:{access}」形式的冒號分隔的元組,其中'access'是'read'或'write'。 –

相關問題