0

这主要是措辞问题。但尽管这是一个非常重要的问题,它可能会导致对更大团队维护的大型代码库的误解。假设我们有一个带有身份验证系统的非常基本的 CRUD/RESTful 应用程序。在这种情况下,尝试完成数据更改请求(POST/PUT)的经过身份验证的用户将被服务器识别(身份验证),然后检查该识别用户是否有权创建/更新资源问题(授权)。

现在假设我将实现 Oauth 协议,以便在稍后阶段支持某种 Web API 解决方案。在这种情况下,来自客户端应用程序 A 的用户将不得不请求资源提供者的授权才能做某事。

所以到目前为止,我们在同一个应用程序中有两个有效的授权概念。在应用程序级别这不是什么大问题,因为我们可以将这两个概念包含在相关的命名空间中,但是在数据库中,我有两个不能共享名称的有效候选人authorizations

由于我不是命名空间表名称的忠实拥护者,因此我想就可能重命名其中一个表名提出建议(或者您可能已经实施的其他一些疯狂的解决方案)。

切里奥

4

1 回答 1

1

或者只是用更具描述性的名称作为 oauthgrants前缀?: 和. 这可能会违反您关于命名空间的规则,但会更具描述性。 authorizationsuser_authorizationsapp_user_authorizations

user_authorizations或者authorizations只是允许用户在系统内执行的操作。

app_user_authorizations或者oauthgrants拥有用户通过 OAuth 授予第三方应用程序的权限。它将存储:用户 ID、OAuth 2.0 客户端 ID、授予的范围、刷新令牌(如果存在)、到期(如果存在)。它还可能具有访问令牌,具体取决于您实现它们的方式(或者它们可能在另一个表中或未存储,因为它们是加密可验证的)

于 2012-09-09T00:39:21.937 回答