Есть ли способ аутентификации пользователя в разных базах данных в laravel? - PullRequest
0 голосов
/ 23 апреля 2019

Я реализую доступ к различным базам данных, но при использовании промежуточного программного обеспечения ('auth: api') он говорит, что я не аутентифицирован, и при входе в систему я получаю токен.

это происходит только тогда, когдаDB не используется по умолчанию

im на laravel 5.8

public function login(LoginRequest $request, $db)
    {
        Config::set("database.connections.mysql.database", $db);
        if (Auth::attempt(['email' => request('email'), 'password' => request('password')])) {
            $this->user = Auth::user();
            $this->user->token = $this->user->createToken('ControlEscolar')->accessToken;
            $status = 200;
        } else {
            $this->user['error'] = "Unauthorized";
            $status = 401;
        }
        return response()->json($this->user, $status);
    }

public function userData($db)
    {
        Config::set("database.connections.mysql.database", $db);
        $user = userData::whereUserId(Auth::user()->id)
            ->first();
        return $user;
    }

при входе в систему я получаю это ...

{
    "id": 1,
    "name": "name of user",
    ...
    "token": "eyJ0eXAiO...CFU"
}

такэто работает

но во втором на пользовательских данных я получаю это

{
    "error": {
        "message": "Unauthenticated.",
        "status_code": 500,
        "debug": {
            "line": 67,
            "file": "/Users/.../vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php",
            "class": "Illuminate\\Auth\\AuthenticationException",
            ...

кто-то знает, как это сделать, или что я делаю неправильно

1 Ответ

0 голосов
/ 25 апреля 2019

Я разрешаю это с помощью набора настроек для файла маршрута, как указано выше:

$api->group(['prefix' => 'auth'], function (Router $api) {
    Config::set("database.connections.mysql.database", $db);
    $api->post('singup', 'App\\Api\\V1\\Controllers\\SignUpController@signUp');
});

Кстати, я использую dingo Api

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...