uni-app的微信小程序,laravel搭建的后台,\Auth::guard('api')->fromUser($user)报错误,请高手赐教!

1. 运行环境

nginx+php7.4

1). 当前使用的 Laravel 版本?

Laravel Framework 5.8.38
//: <> (使用 php artisan --version 命令查看)

2). 当前使用的 php/php-fpm 版本?

PHP 版本:
PHP 7.4.28 (cli) (built: Mar 1 2022 14:35:33) ( NTS )
//: <> (使用 php --version 命令查看 php 版本)

php-fpm 版本:

3). 当前系统

CentOS 7.9
//: <> (期待数值 Windows 10 / Ubuntu 20.4 / CentOS 8 )

4). 业务环境

开发环境
//: <> (期待信息 开发环境生产环境)
//: <> (是否使用负载均衡?请提供相关信息)

5). 相关软件版本

nginx 1.20
php-7.4
mysql-5.6.5
//: <> (提供相关软件的版本,如 Nginx 、MySQL、MongoDB 等)

2. 问题描述?

uni-app的微信小程序,laravel搭建的后台,
uni.login({
provider: ‘weixin’,
success: async function (loginRes) {
let params = {code: loginRes.code};
const res = await user.me(params);
//后台存储登陆信息,返回验证信息
const userInfo = res.data.user;
_this.userInfo = userInfo;
uni.setStorageSync(‘openid’, res.data.auth.openid);
uni.setStorageSync(‘session_key’, res.data.auth.session_key);
uni.setStorageSync(‘user_info’, res.data.user);
uni.setStorageSync(‘token’, res.data.meta.token);
uni.setStorageSync(‘expires_in’, res.data.meta.expires_in);

后台路由配置
Route::namespace(‘Api’)->prefix(‘v1’)->middleware(‘cors’)->group(function () {
Route::get(‘users/me’, ‘UserController@me’);
}

报错误位置:
\Auth::guard(‘api’)->fromUser($user)报错误400。

config/auth.php配置:
‘defaults’ => [
‘guard’ => ‘web’,
‘passwords’ => ‘users’,
],
‘guards’ => [
‘web’ => [
‘driver’ => ‘session’,
‘provider’ => ‘users’,
],
‘api’ => [
‘driver’ => ‘jwt’,
‘provider’ => ‘users’,
// ‘hash’ => false,
],
],

查验了jwt的验证的配置,按这个地址上介绍的方法已全配置。www.phpxs.com/post/8364/
猜测是jwt验证不通过,不熟悉laravel这个验证方法,求高手告知方向或错误解决方法,感激不尽

3. 您期望得到的结果?

通过这个auth,小程序拿到token等信息
//: <> (能截图就截图。)

4. 您实际得到的结果?

token,user信息得不到,绕过后只能得到session_key和openid.

uni-app的微信小程序,laravel搭建的后台,\Auth::guard('api')->fromUser($user)报错误,经验证

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 3

有点乱啊 我都不知道你是说小程序还是laravelauth

获取微信用户信息可以参考: easywechat6 微信小程序获取用户信息登录

1周前 评论
auth('api')->getUser()
$token = \Auth::guard('api')->attempt($credentials)
$token = auth('api')->login($user);
$token = auth('api')->refresh();
auth('api')->logout();
auth('api')->factory()->getTTL()
1周前 评论
风中絮 (作者) 1周前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!