首页 > 解决方案 > 公共 Laravel API 的身份验证

问题描述

我正在制作一个公共 API 以允许第三方网站与我的应用程序交互,我想知道管理身份验证的最佳方法是什么。我目前正在研究使用 Laravel Passport,但我对工作流程应该如何工作感到有些困惑。

我应该为我的用户创建客户端然后请求他们自己的令牌,还是应该只有一个客户端用于请求令牌并将令牌分发给用户。

我很想使用 Laravel Passport,因为它集成了 OAuth2,这是一个众所周知的身份验证标准,但是从阅读 Passport 文档来看,它似乎并不是为了创建一个公共 API 作为所有客户端创建“方法”而编写的是通过运行工匠命令,而不是通过控制器方法。

更新

我目前正在寻找的是让用户通过编写一个控制器来创建一个 OAuth 客户端,该控制器使用php artisan passport:client命令中包含的相同类型的代码,但位于控制器中,因此可以从前端网页完成。然后,这将为用户提供一个客户端 ID 和秘密,然后他们可以使用它来通过请求访问令牌来遵循标准 OAuth 流程。我不确定这是多么正确,或者这对于一个非常基本的 API 来说是否有点过于深入,但这就是我的想法

标签: laravellaravel-passportapi-authorization

解决方案


你可以尝试使用这个库。 https://jwt-auth.readthedocs.io/en/develop/

它应该适用于您的目的。


推荐阅读