使用OKTA和OAUTH对REST应用程序端点的端点进行细粒度访问控制 概述
我有一个REST应用程序,它有一个端点/电子书 它有3个与之关联的HTTP动词get(用于获取电子书详细信息)、post(用于添加电子书)、delete(用于删除电子书) 获取电子书可供系统中的所有用户使用。 创建和删除电子书需要管理员权限 我希望只有管理员权限的用户才能添加或删除电子书,换言之,只有只读权限的用户不能添加或删除电子书 我无法设置此级别的细粒度访问。通过我的设置,即使只有只读权限的用户也可以添加、删除电子书。使用OKTA和OAUTH对REST应用程序端点的端点进行细粒度访问控制 概述,oauth,oauth-2.0,authorization,okta,Oauth,Oauth 2.0,Authorization,Okta,我有一个REST应用程序,它有一个端点/电子书 它有3个与之关联的HTTP动词get(用于获取电子书详细信息)、post(用于添加电子书)、delete(用于删除电子书) 获取电子书可供系统中的所有用户使用。 创建和删除电子书需要管理员权限 我希望只有管理员权限的用户才能添加或删除电子书,换言之,只有只读权限的用户不能添加或删除电子书 我无法设置此级别的细粒度访问。通过我的设置,即使只有只读权限的用户也可以添加、删除电子书。 OKTA配置 我已经配置了电子书应用程序,并将OKTA配置为授权服务
OKTA配置 我已经配置了电子书应用程序,并将OKTA配置为授权服务器。我能够获得访问令牌以访问应用程序 获取电子书可供所有用户使用,我在OKTA授权服务器中为此创建了scope ebook:read。 创建和删除电子书需要管理员权限,我已经为此创建了范围电子书:修改 我在OKTA中创建了两个用户应用程序
问题 到目前为止,以下内容仍在按预期为我工作:
但是,以下功能未按预期工作:
是否可以通过请求“ebook:read”范围来阻止ReaderApp创建/删除电子书 AdminApp和ReaderApp应用程序都使用相同的端点/电子书 对于ReaderApp,此端点中不应访问post和delete方法,即使我已使用作用域对它们进行了保护,但它与端点没有直接关联,这就是问题所在 我想我可能错过了一些非常基本的东西,但因为我是OKTA的新手,所以我还没弄明白 这是我必须在电子书应用程序(资源服务器)本身中配置的东西,还是可以仅使用OKTA处理这种情况,可能需要一些授权服务器配置。 欢迎提出任何建议 注意:在这篇文章中,为了清晰起见,我只提到了一个端点,但在我的实际应用程序中有很多端点