Ограничьте границы CF-UAA, которые клиент может задать - PullRequest
0 голосов
/ 11 декабря 2018

Я недавно использую OAuth2 из CF-UAA в своем приложении, когда запрос приходит к моему клиенту, я перенаправляю в CF-UAA, чтобы сгенерировать токен доступа, где я могу запросить разные области.Я хотел знать, как мы можем ограничить объемы, которые может запрашивать клиент?И являются ли рамки в CF-UAA расширяемыми или фиксированными?

Заранее спасибо

1 Ответ

0 голосов
/ 11 декабря 2018

когда запрос приходит к моему клиенту, я перенаправляю на CF-UAA, чтобы сгенерировать токен доступа, где я могу запросить разные области.Я хотел знать, как мы можем ограничить области, которые может запрашивать клиент?

Когда вы создаете клиент UAA, вы скажете ему, какие области должен использовать этот конкретный клиент.Если вы зададите клиенту область «foo» и «bar», это все, что клиент может запросить.Он не может запросить «baz», потому что его нет в списке разрешенных областей в UAA.

Это зависит от администратора или того, кто создает клиент UAA, чтобы установить соответствующий список областей.Если вы не доверяете этому человеку, то ему нельзя разрешать создавать клиента в первую очередь.Как правило, доверенным лицом является тот, кто создает клиентов.

И являются ли области в CF-UAA расширяемыми или фиксированными?

Области - это просто строки.Значение этих строк применяется сервером ресурсов.Существуют фиксированные наборы областей для взаимодействия с установленными службами, такими как сам UAA, или для взаимодействия с CF.Если вы создаете приложение, защищенное Oauth2 (сервер ресурсов), то вы обязаны определить, какие области доступны и какие разрешения они предоставляют.

Например, Cloud Controller (сервер ресурсов) распознает «cloud_controller».admin "," cloud_controller.read "и" cloud_controller.write ".Если вы назначите одну или несколько из этих областей клиенту, он может получить их и использовать их для выполнения различных задач в Cloud Controller.Если вы попытаетесь использовать область «cloud_controller.god», ничего не произойдет, потому что Cloud Controller не распознает и не назначает разрешения для этой области.

Надеюсь, это поможет!

...