用于用户身份验证的个人访问令牌和 json Web 令牌有啥区别?

Posted

技术标签:

【中文标题】用于用户身份验证的个人访问令牌和 json Web 令牌有啥区别?【英文标题】:what is the difference between personal access token and json web token for user Authentication?用于用户身份验证的个人访问令牌和 json Web 令牌有什么区别? 【发布时间】:2017-07-26 12:59:20 【问题描述】:

我知道我们可以在 Web 应用程序中使用 json Web 令牌进行用户身份验证。 应用客户端向应用服务器发送一对用户名和密码,Web 应用服务器返回一个 JSON Web 令牌给应用客户端。

今天,我在 Laravel 5.4 文档中阅读了一些关于个人访问令牌的文章。但是,我不确定它们是否有意义。什么是个人访问令牌? Laravel 中的个人访问令牌相当于 JSON Web 令牌用于用户认证?

谁能帮帮我?

【问题讨论】:

你在哪里读到的?可以给我网址吗? @M-N,这是网址:laravel.com/docs/5.4/passport#personal-access-tokens 【参考方案1】:

这是definition

个人访问令牌

有时,您的用户可能希望在不通过典型的授权代码重定向流程的情况下向自己颁发访问令牌。允许用户通过您的应用程序 UI 向自己颁发令牌对于允许用户试验您的 API 很有用,或者通常可以作为一种更简单的方法来颁发访问令牌。

个人访问令牌只是为使用您自己的前端进行用户身份验证而创建的 JWT(Json Web 令牌),为您的用户提供一个用于管理个人访问令牌的仪表板,而不是使用用户/密码表单。

【讨论】:

谢谢,@pedrofb。我还是不太明白。如果人访问令牌是 OAUTH2.0 的一部分?我知道oauth2.0有四种授权授权类型,分别是:授权码、隐式、资源所有者密码凭证和客户端凭证。是否与这些资助类型有关? “个人”访问令牌是 Oauth2.0 中未定义的概念。这是 Laravel 的专有功能。似乎它旨在简化客户端获取身份验证令牌以进行测试。从 Oauth2 的角度来看,访问令牌是不透明的。授权类型是如何请求访问令牌的流程。 嗨@shaun,你检查答案了吗?您需要进一步说明吗? 我阅读了您的回答,但我仍然无法理解个人访问令牌的用途。 @mhndev:主要的 OAuth2 授权类型在 Passport 中实现。但是,Passport 还允许您发出访问令牌来代替 OAuth2 流。所以,基本上你可以忽略 OAuth2 定义的最佳实践,如果你喜欢或需要它,只需在你自己的逻辑/流程下发布令牌。

以上是关于用于用户身份验证的个人访问令牌和 json Web 令牌有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

Django:基于 DRF 令牌的身份验证 VS JSON Web 令牌

了解 Web 身份验证上下文中的 JSON Web 令牌 (JWT)

了解 Web 身份验证上下文中的 JSON Web 令牌 (JWT)

Web API 中基于令牌的身份验证,无需任何用户界面

JSON Web令牌(JWT)

我是不是正确理解用于身份验证的访问和刷新令牌技术?