限制客户可以询问的CF-UAA范围

时间:2018-12-11 10:04:50

标签: pivotal-cloud-foundry cloudfoundry-uaa

我最近在我的应用程序中使用CF-UAA的OAuth2,当请求到达我的客户端时,我重定向到CF-UAA以生成访问令牌,可以在其中请求不同的作用域。我想知道我们如何限制客户要求的范围? CF-UAA中的范围是可扩展的还是固定的?

预先感谢

1 个答案:

答案 0 :(得分:2)

  

当请求到达我的客户端时,我重定向到CF-UAA以生成访问令牌,在这里我可以请求不同的作用域。我想知道我们如何限制客户要求的范围?

创建UAA客户端时,您将告诉它该特定客户端应能够利用的范围。如果您给客户端范围“ foo”和“ bar”,则客户端可以请求的全部内容。它无法请求“ baz”,因为它不在UAA允许的范围列表中。

由管理员或创建UAA客户端的任何人设置适当的范围列表。如果您不信任该个人,则不应首先允许他们创建客户端。通常,一个值得信任的人就是创建客户的人。

  

CF-UAA中的范围是可扩展的还是固定的?

作用域只是字符串。这些字符串的含义由资源服务器应用。有固定的范围集,用于与已建立的服务(例如UAA本身)进行交互或与CF进行交互。如果您要创建受Oauth2(资源服务器)保护的应用,那么您有责任确定哪些范围可用以及它们授予哪些权限。

例如,云控制器(资源服务器)识别“ cloud_controller.admin”,“ cloud_controller.read”和“ cloud_controller.write”。如果将这些作用域中的一个或多个分配给客户端,则它可以获取它们并将其用于在Cloud Controller上执行各种操作。如果您尝试使用范围“ cloud_controller.god”,则不会发生任何事情,因为云控制器无法识别该范围并向该范围分配权限。

希望有帮助!