我可以在 Laravel 中同时使用 OAuth 和 Auth 吗?

Posted

技术标签:

【中文标题】我可以在 Laravel 中同时使用 OAuth 和 Auth 吗?【英文标题】:Can I use OAuth and Auth at the same time in Laravel? 【发布时间】:2018-05-27 00:19:37 【问题描述】:

我正在做一个项目,我在 Laravel 中实现了私人聊天。但是对于第三方,我们使用 OAuth,但我已经在我的项目中使用了 auth()。我可以同时使用吗? OAuth 正在获取令牌,然后与 Vue.js 通信。所以,我不想在我的项目中删除 auth() 函数。你能指导我怎么做吗?

laravel 项目中的实时聊天系统。我在 Laravel 中使用单独的 Vue.js。

【问题讨论】:

【参考方案1】:

是的。你可以同时使用OAuth 和默认的 Laravel Auth。默认情况下,Laravel 提供 web.phpapi.php 的路由。

web.php:此路由使用默认 Laravel Auth 功能

api.php:此处定义的路由使用OAuth 功能

确保在config/auth.php 中使用默认驱动程序为web

'defaults' => [
    'guard' => 'web',
    'passwords' => 'users',
],

【讨论】:

如果对您有帮助,请点赞并检查此答案? 兄弟,我还有一件事。如果我使用登录 api 登录,那么我可以通过 auth()->user->id 访问登录用户吗? 是的。使用 API 登录时,您将获得一个授权令牌。确保使用中间件传递每个请求以进行解析以维护授权。然后只有您可以访问授权用户,即Auth::user()->id 我实际使用过JWT,它是基于OAuth Framework。它很简单。如果你使用 Laravel 5.4 or above,用户 JWT 版本 1.0 or above。查看 Laravel 的这些文档:github.com/tymondesigns/jwt-auth

以上是关于我可以在 Laravel 中同时使用 OAuth 和 Auth 吗?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.1:如何使用 oauth2-server-laravel?

OAuth回调后Laravel访问JWT

如何使用 Laravel 管理 OAuth 刷新令牌?

JWT + Laravel Socialite 与 OAuth 参数

在 laravel 中写入 oauth 密钥文件的安全位置

在 laravel 中使用 oauth 会出现错误:redirect_uri_mismatch