【问题标题】:GET /account: Returns API Token on responseGET /account:响应时返回 API 令牌
【发布时间】:2021-10-27 05:33:45
【问题描述】:

当用户创建一个新帐户时,我添加了它的 API 令牌并将其返回给用户。但是当用户查看他们的帐户信息时,我不想将 API 令牌返回给用户。

GET /account:返回 API Token 作为响应。

这是我的代码文件 User.php:

public function index()
{
    $users = User::where('id', auth()->user()->id)->get();

    return response([
        'data' => UserResource::collection($users),
        'message' => 'Retrieve successfully'
    ], 200);
}

// POST
public function store(Request $request)
{
    $data = $request->all();

    $validator = Validator::make($data, [
        'name' => 'required|max:255|string',
        'email' => 'required|email|unique:users,email',
        'password' => 'required|string',
    ]);

    if ($validator->fails()) {
        return response(['error' => $validator->errors(), 'Validation Error'], 400);
    }

    $users = User::create($data);

    $token = $users->createToken('accessToken')->plainTextToken;

    return response([
        'data' => new UserResource($users),
        'api_token' => $token,
        'message' => 'Created successfully'
    ], 201);
}

这是我的代码文件 api.php(路由):

Route::group(['prefix' => 'v1' ], function () {

    // Account
    Route::post('/account', [UserController::class, 'store']);

    // Protected route
    Route::group(['middleware' => ['auth:sanctum']], function () {

            // Account
            Route::get('/account', [UserController::class, 'index']);
    });
});

【问题讨论】:

    标签: laravel endpoint laravel-sanctum laravel-api


    【解决方案1】:

    使用$request->bearerToken()获取不记名令牌。

    public function index()
    {
        $users = User::where('id', auth()->user()->id)->get();
    
        return response([
            'data' => UserResource::collection($users),
            'api_token' => $request->bearerToken(),
            'message' => 'Retrieve successfully'
        ], 200);
    }
    

    【讨论】:

    • 非常感谢!!!。因为我确实花了很多时间但我想不到这种方式
    猜你喜欢
    • 2018-10-21
    • 2012-07-22
    • 2016-06-27
    • 1970-01-01
    • 1970-01-01
    • 2022-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多