如何解决公共Laravel API的身份验证
我正在制作一个公共API,以允许第三方网站与我的应用程序进行交互,我想知道管理身份验证的最佳方法是什么。我目前正在研究使用Laravel Passport,但是我对工作流的工作方式感到有些困惑。
我应该为我的用户创建客户端,然后使用来请求自己的令牌,还是应该只有一个客户端用来与我一起请求令牌并将令牌分发给用户。
我很想使用Laravel Passport,因为它集成了OAuth2,这是一个非常著名的身份验证标准,但是从阅读Passport文档看,它似乎并不是为了创建公共API而编写的,因为它是所有客户端创建的“方法”是通过运行工匠命令而不是通过控制器方法来完成的。
更新
我目前正在寻找的是让用户通过编写一个控制器来创建OAuth客户端,该控制器使用php artisan passport:client
命令中包含的相同类型的代码,但是该控制器位于控制器中,因此可以从前端完成网页。然后,这将为用户提供一个客户端ID和秘密,然后他们可以通过请求一个访问令牌来使用它们来遵循标准的OAuth流。我不确定这是否正确,或者对于一个基本的API来说是否太深了,但这就是我的想法
解决方法
您可以尝试使用此库。 https://jwt-auth.readthedocs.io/en/develop/
它应该可以满足您的目的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。