【发布时间】:2018-01-13 21:50:29
【问题描述】:
我对认识到 Laravel Passport 和 tymondesigns/jwt-auth 包之间的差异感到有点困惑。它们实际上是否通过令牌服务于 API 身份验证的相同目的?
只要 Laravel Passport 是在 5.3+ 中引入的,那么在最新版本中是否应该使用 Passport 而不是 tymondesigns/jwt-auth 包?
【问题讨论】:
标签: laravel-5
我对认识到 Laravel Passport 和 tymondesigns/jwt-auth 包之间的差异感到有点困惑。它们实际上是否通过令牌服务于 API 身份验证的相同目的?
只要 Laravel Passport 是在 5.3+ 中引入的,那么在最新版本中是否应该使用 Passport 而不是 tymondesigns/jwt-auth 包?
【问题讨论】:
标签: laravel-5
“tymondesigns/jwt-auth”是JWT protocol 的 PHP Laravel 实现。另一方面,Passport 默认也使用 JWT 加上一个巨大的额外功能,一个完整的 Oauth2 实现。关于功能,正如我所说,它们都使用 JWT,因此您可以使用任何您喜欢的方式通过令牌进行身份验证。他们都完成了自己的工作,您将拥有一个安全的 API 令牌实现。
如果您想要一个轻量级的 API 令牌实现或 Oauth2 服务器的附加功能以允许更多和其他应用程序与您的应用程序通信,那么区别就来了。 most common cases 之一是一些随机应用程序如何向 Google 或 Facebook 询问您的用户信息。如果您实施 Oauth2 服务器,您的应用将允许任何其他具有适当令牌的应用向您的应用请求数据。
"[...] Laravel 使用 Laravel Passport 使 API 身份验证变得轻而易举,它在几分钟内为您的 Laravel 应用程序提供了完整的 OAuth2 服务器实现。Passport 构建在由以下人员维护的 League OAuth2 服务器之上亚历克斯·比尔比。”来自https://laravel.com/docs/master/passport
更多细节,我在Laravel Passport, JWT, Oauth2, and Auth0做了解释。
【讨论】:
2021 年 12 月。 Laravel Passport 不支持 PHP 7.4。 “psr/log”需要 PHP 8。如果是 PHP 7.4,请使用 Laravel Passport 以外的其他解决方案。
【讨论】: