У меня есть общий вопрос о том, как обрабатываются области в протоколе OAuth2. Для простой аргументации можно начать с конкретного примера:Обработка области в протоколе OAuth2
Допустим, у меня есть сервер OAuth A, который я хочу использовать для защиты двух API RESTful R1
и R2
. Эти две службы имеют специальные области, которые они используют, чтобы предоставить пользователю доступ к некоторым защищенным ресурсам. Так что давайте скажем, R1
нуждается в области S1
и R2
нуждается в области S2
, чтобы получить доступ к ограниченным ресурсам.
Позволяет дополнительно предположить, что сервер OAuth A
делает также использовать из областей email
и profile
, они необходимы, чтобы получить доступ к данным пользователя, сам OAuth сервер управляет.
Теперь вот что мне трудно понять. Насколько я вижу, сервер OAuth A
обычно знает, как обрабатывать области, которые он сам использует (в данном случае email
и profile
). Но как насчет областей, необходимых для доступа к ограниченным функциям в двух API (R1
нужны S1
и R2
S2
)?
Должен ли я регистрировать эти области вручную с помощью сервера OAuth (чтобы он знал, что они существуют и могут предоставить их, если это необходимо)? Это снова означало бы, что мне нужно зарегистрировать все области всех API, которые я хочу защитить/использовать с помощью сервера OAuth.
Правильность этих допущений? Если у меня что-то не так, возможно, кто-то может мне помочь, объяснив, как обычно выполняется вся обработка области. Я попытался использовать google oauth2 и области видимости, но, похоже, нет хорошего объяснения того, как точно обрабатываются области в протоколе.
Чтобы обернуть его, представляется хорошей идеей реализовать функциональность в OAuth Server 'A', которая позволяет управлять областями (CRUD). Таким образом, сервер действительно должен знать все области, которые необходимы защищенным службам в конце концов? Спасибо за Ваш ответ! – evermean