公共 Laravel API 的身份验证
Posted
技术标签:
【中文标题】公共 Laravel API 的身份验证【英文标题】:Authentication for public Laravel API 【发布时间】:2021-01-21 04:30:11 【问题描述】:我正在制作一个公共 API 以允许第三方网站与我的应用程序交互,我想知道管理身份验证的最佳方式是什么。我目前正在考虑使用 Laravel Passport,但我对工作流程应该如何工作感到有些困惑。
我应该为我的用户创建客户端然后请求他们自己的令牌,还是应该只有一个客户端用于请求令牌并将令牌分发给用户。
我很想使用 Laravel Passport,因为它集成了 OAuth2,这是一个众所周知的身份验证标准,但是从阅读 Passport 文档来看,它似乎并不是为了创建一个公共 API 作为所有客户端创建的目的而编写的“方法”是通过运行工匠命令,而不是通过控制器方法。
更新
我目前正在寻找的是让用户通过编写一个控制器来创建一个 OAuth 客户端,该控制器使用包含在 php artisan passport:client
命令中的相同类型的代码,但在控制器中,因此可以从前端网页完成。然后,这将为用户提供一个客户端 ID 和秘密,然后他们可以使用它来通过请求访问令牌来遵循标准 OAuth 流程。我不确定这是多么正确,或者这对于一个非常基本的 API 来说是否有点过于深入,但这就是我的想法
【问题讨论】:
【参考方案1】:您可以尝试使用此库。 https://jwt-auth.readthedocs.io/en/develop/
它应该适用于您的目的。
【讨论】:
我已经研究过了,但我觉得这不如在我的用例中使用护照,护照中的授权流程似乎更重要以上是关于公共 Laravel API 的身份验证的主要内容,如果未能解决你的问题,请参考以下文章
Laravel + React,使用 Laravel 身份验证的 api
通过 laravel API 使用 firebase 令牌身份验证