我知道问题有点广泛,但让我缩小范围。我已经构建了一个带有laravel的小社交网络,我期待用dingo构建api我的问题是我想知道开发人员使用我的api(开发人员身份验证)这让我感到困惑,因为使用api的开发人员必须验证我的网站用户发布或获取有关他们的信息...我想知道这种身份验证应该如何工作。
说一个开发者dev@gmail.com密码'dev123'想得到一个特定用户的帖子,网址是mydomain.com/api/users/445/posts/4,用户445有电子邮件用户@ gmail.com和密码'user123'。如何使用jwt管理处理开发人员身份验证和用户身份验证。我已经查看了jwt上的一些教程,但对是否是api用户(开发人员)或正在进行身份验证的平台用户感到困惑。在此先感谢,我将非常感谢有关此类教程的教程。
答案 0 :(得分: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"
}