OAuth and authorization



我构建了一个带有身份验证机制的RESTful服务。身份验证使用 OAuth 协议(使用 oauth.net 中的库)。

我的服务是学校管理。我现在只有教师小组。现在我还想添加学生面板,它几乎相同,但我不希望学生能够编辑内容,因此在这种情况下需要授权。

当教师想要登录时,他会向"身份验证.php"发送 post 请求,如果字段有效,他会从 OAuth 取回身份验证令牌。学生在"authentication_students.php"中登录

如何检查令牌是否有权在 OAuth 中授权编辑内容?

OAuth 2.0 规范有意揭示了令牌验证,因此确切的实现取决于您。服务器可以提供自定义端点,其中受保护的资源可以检查令牌有效性,或者以客户端可以直接解释的格式颁发令牌,而无需咨询服务器(例如,请参阅 JWS:带有签名的 json Web 令牌)。

如果您使用的是库,则可以检查它支持哪种方法。

颁发令牌时,应为教师和学生请求不同的作用域(模拟到用户角色),以便可以根据授予客户端的令牌的作用域允许或拒绝对受保护资源的访问。

令牌需要包含类似"canEdit"=true/false的声明。在您的情况下,身份验证是从两个不同的页面完成的,因此填充此声明应该不是什么大问题吗?

让我知道我是否完全离开这里?我错过了什么吗?

最新更新