我最近在我的应用程序中使用CF-UAA的OAuth2,当请求到达我的客户端时,我重定向到CF-UAA以生成访问令牌,可以在其中请求不同的作用域。我想知道我们如何限制客户要求的范围? CF-UAA中的范围是可扩展的还是固定的?
预先感谢
答案 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”,则不会发生任何事情,因为云控制器无法识别该范围并向该范围分配权限。
希望有帮助!