1

我知道这个问题有点宽泛,但让我缩小范围。我已经用 laravel 建立了一个小型社交网络,我期待用 dingo 构建 api 我的问题是我想知道使用我的 api(开发人员身份验证)的开发人员,这让我感到困惑,因为使用 api 的开发人员必须对我网站的用户进行身份验证以发布或获取有关他们的信息...我想知道此身份验证应该如何工作。

假设密码为“dev123”的开发人员 dev@gmail.com 想要获取特定用户的帖子,帖子的网址是 mydomain.com/api/users/445/posts/4,用户 445 有电子邮件 user@gmail.com和密码'user123'。如何使用 jwt 管理处理开发人员身份验证和用户身份验证。我查看了一些关于 jwt 的教程,但对正在验证的是 api 用户(开发人员)还是平台用户感到困惑。在此先感谢,如果有的话,我将不胜感激。

4

1 回答 1

0

如何使用 jwt 管理处理开发人员身份验证和用户身份验证。

通过您需要选择的方法登录后,每台设备上的每个用户和每个开发人员都将收到自己的不记名令牌。作为不记名令牌的一部分,您可以对自定义数据进行编码,例如用户 ID 或用户角色(或者可能更好的哈希)。

从令牌中提取此信息,您可以使用它来根据用户 ID、角色或您选择的任何内容授予对特定资源的访问权限。

请参阅https://stormpath.com/blog/jwt-the-right-way了解您可以委托 JWT 的“声明”示例,例如:

//header
{
    "alg": "HS256", //denotes the algorithm (shorthand alg) used for the  signature is HMAC SHA-256
    "typ": "JWT" //denotes the type (shorthand typ) of token this is
}

//claims
{
    "sub": "tom@stormpath.com",
    "name": "Tom Abbott",
    "role": "user"
}
于 2016-09-08T09:36:43.897 回答