我们可以在UAAC中添加自定义范围吗?

时间:2016-04-20 04:51:02

标签: authentication microservices

我正在研究CF-UAA。我想定义我的应用程序特定自定义范围,例如user.reports。我希望此范围包含在令牌中。 然后,令牌由报告微服务验证,只有当令牌包含范围时才会提供。

我的问题是:

  1. 我们可以定义自定义范围并向其添加用户吗?
  2. 如果是的话怎么样?如果不是达到这种要求的最佳方式是什么

1 个答案:

答案 0 :(得分:1)

经过一些试验和错误,我找到了以下

  1. 用户的范围只是他的群组关联
  2. 当想要添加范围时,首先创建一个组
  3. uaac group add custom.report

    1. 将成员添加到此论坛
    2. uaac member add custom.report xyz@abc.com

      1. 但是,如果您尝试使用令牌发行方为范围内的此值获取该用户的令牌,
      2. ti = CF::UAA::TokenIssuer.new("http://localhost:8080/uaa", "reportclient") token = ti.owner_password_credentials_grant({ :username => request[:username], :password => request[:password]})

        然后你必须拥有权限的'reportclient' - 'custom.report'。

        您可以使用以下命令

        向reportclient添加权限
        uaac client update reportclient --authorities "<existing authorities list separated by space> custom.report"
        

        只有这样,收到的令牌才会有custom.report范围。

        希望这有助于某人。 如果有人知道,更好的方式是受欢迎的。