我使用身份验证机制构建了一个RESTful服务。身份验证适用于OAuth协议(使用oauth.net中的库)。
我的服务是学校管理。我现在所拥有的只是教师小组。现在我想添加学生小组,它几乎相同,但我不希望学生能够编辑东西,所以在这种情况下需要授权。
当教师想要登录时,他将发送请求发送到'authentcation.php',如果字段有效,他从OAuth返回认证令牌。学生登录'authentication_students.php'
如何在OAuth中使用授权检查令牌是否具有编辑权限的权限?
答案 0 :(得分:0)
令牌需要包含类似" canEdit" = true / false。在您的情况下,身份验证是从两个不同的页面完成的,因此填充此声明不应该是一个大问题吗?
如果我完全离开这里,请告诉我?我错过了什么吗?
答案 1 :(得分:0)
OAuth 2.0规范有意发现令牌验证,因此确切的实现取决于您。服务器可以提供自定义端点,其中可以通过受保护资源检查令牌有效性,或者以客户端可以直接解释的格式发出令牌而无需咨询服务器(参见例如JWS:带签名的json web令牌)。
如果您正在使用库,则可以检查它支持的方法。
发布令牌时,您应该为教师和学生请求不同的范围(类似于用户角色),这样您就可以根据授予客户端的令牌范围来允许或拒绝访问受保护资源。