You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Flow开发的APP无法获取Auth Token但Postman可正常获取

问题分析与解决方案

你的核心问题在于Laravel接口返回的是纯文本格式的Token,但Flutter Flow的HTTP请求默认期望JSON格式响应,所以即便状态码是200,Flutter Flow也无法正确解析纯字符串,最终返回null。而Postman能正常显示纯文本,是因为它会自动识别响应格式并展示。

解决步骤

修改login方法的返回逻辑,将Token包装成JSON对象返回:

修改后的代码

public function login(Request $request)
{
    try {
        $request->validate([
            'email' => 'required|email',
            'password' => 'required',
            'device_name' => 'required',
        ]);

        $user = User::where('email', $request->email)->first();

        if (! $user || ! Hash::check($request->password, $user->password)) {
            throw ValidationException::withMessages([
                'email' => ['The provided credentials are incorrect.'],
            ]);
        }

        // 将Token包装为JSON对象返回
        return response()->json([
            'success' => true,
            'token' => $user->createToken($request->device_name)->plainTextToken,
            'user' => $user // 可选:返回用户基本信息
        ], 200);
    } catch (ValidationException $exception) {
        return response()->json([
            'success' => false,
            'message' => $exception->getMessage(),
            'errors' => $exception->errors(),
        ], 422);
    } catch (QueryException $exception) {
        return response()->json([
            'success' => false,
            'message' => $exception->getMessage(),
        ], 500);
    } catch (Exception $exception) {
        return response()->json([
            'success' => false,
            'message' => $exception->getMessage(),
        ], 500);
    }
}

额外排查点

  • 确认Flutter Flow的POST请求是否正确携带了email、password、device_name三个参数,且参数名与后端校验规则一致
  • 检查请求头是否设置了Content-Type: application/json,确保请求体是JSON格式而非表单格式
  • 查看Flutter Flow中对响应数据的解析逻辑,确保是从返回的JSON对象中提取token字段

内容的提问来源于stack exchange,提问作者Kyle Mabaso

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 23:47:49