OAUTH 2范围设计

时间:2017-03-30 09:58:48

标签: rest api oauth scope oauth-2.0

我们有一个支持中心应用程序,其中有一些休息api用于

门票,联系人,用户设置 - > (工作流,用户,部门,配置文件和基于角色的授权),其他服务 综合数据api

我们正在尝试为这些定义Oauth范围。我们发现难以解决的主要问题是:

  • OAuth范围的细粒度以及细粒度与粗粒度范围的折衷是什么。

  • 我们可以将多个范围关联到单个api端点吗? 例如1:GET /工作流范围=“自动化,设置”。 在这种情况下,有权访问其中一个范围的人可以访问api。

    例如2:GET /票? include =“contacts”scope =“门票,联系人” 这里的票据是主要数据,联系人是可选的。不是所有api请求都会询问联系人的信息,但是如果他们这样做的话 他们需要具有联系访问权限。在这种情况下,资源服务器必须拒绝请求或过滤数据 基于范围。

  • 如何定义持久存在或从其他资源服务器获取的集成数据的范围

    例如:GET / contacts / {id} / associatedCrmContact。

    我们这边的联系人被映射到crm应用程序中的相同联系人。要获取此数据,我们提供上述端点

  • 我们已经拥有应用级别的授权。这是一个可以重新配置的配置文件,基于角色的授权 在任何一点上由支持管理员。我们也有非常精细的字段级别授权。问题重新开始 这是 1.此动态用户授权如何适用于新的OAuth2范围。 2.在应用级别没有票证添加权限的人不应该将其提供给机器/应用程序。 3.无论机器或用户如何,我们都应该应用用户级别的配置文件检查

  • 如何定义端点

    中包含复合数据的范围

    Eg1:GET门票/ {Id} /线程,GET门票/ {Id} /评论,GET门票/ {Id} /会话。会话端点包含 线程和评论按时间排序

    Eg2:GET / Feed,Feed有门票,联系人,用户,部门信息

0 个答案:

没有答案