可以为用户或组定义Okta作用域吗?



我想使用Okta进行授权和身份验证。我将创建一个授权服务器,它将通过IDP对人们进行身份验证。

据我所知,授权服务器可以有自定义作用域,作用域应该是权限和某事可以做什么。

我的问题是,如果可以为特定的用户或组分配一个作用域—例如,如果我创建了一个可以从数据库中删除的作用域,我可以告诉授权服务器为具有该作用域的特定组颁发令牌,为另一个组颁发没有该作用域的令牌吗?如果可能的话,我该如何通过他们的api来实现呢?

是的,您可以使用Okta的API访问管理访问策略来为用户/组分配范围。

  1. 在管理控制台中,转到Security>API。
  2. 在"授权服务器"页签中选择授权服务器名称。
  3. 选择访问策略,然后添加策略。
  4. 输入策略的名称和描述。
  5. 将策略分配给所有客户端或选择以下客户端:并输入该访问策略涵盖的Okta OpenID Connect应用程序的名称。当您键入OpenID Connect应用程序的名称时,此字段将自动完成。
  6. 创建基于用户/组和范围的规则:https://developer.okta.com/docs/guides/customize-authz-server/create-rules-for-policy/#rule-use

是的,在okta UI中我们可以做到这一点但是,对于每个用户和组,我想生成包含每个用户权限范围的令牌,例如,如果用户1是ADMIN组的一部分,那么如果我使用用户1的凭据登录,那么令牌应该包含ADMIN作为JWT令牌范围部分的值
如果用户2是user组的一部分,那么如果我使用用户2的凭据登录,那么令牌应该包含user作为JWT令牌范围部分的值,不应该包含ADMIN作为JWT令牌范围部分的值我希望你能得到它我希望这些权限值是SCOPE而不是CLAIMS

最新更新