Аутентифицированные вызовы API из логина сессии laravel. Является ли это возможным? - PullRequest
0 голосов
/ 10 июня 2019

Так что у меня просто проблема с поиском именно того, что я ищу. Поэтому я привык писать SPA и таким образом управлять аутентификацией. Но я работаю над проектом, в котором пользователь входит в систему с помощью входа в сеанс laravel, а затем мне нужно сделать вызов API, который аутентифицирован, и я могу получить объект пользователя из. Это возможно и безопасно?

Спасибо!

1 Ответ

1 голос
/ 10 июня 2019

Вы создаете средства API, вы используете интегрированные среды.Laravel по умолчанию использует сеанс для аутентификации, доступ к которому возможен только на сервере.Таким образом, клиент, т. Е. Внешние приложения, не может получить доступ к сеансу. В этом случае аутентификация сеанса не будет работать.

, вместо аутентификации сеанса следует использовать аутентификацию токена.Есть паспорт пакета https://laravel.com/docs/5.8/passport в laravel.или использовать можно использовать JWT https://github.com/tymondesigns/jwt-auth.

С помощью Session Athentication, используя ajax, вы можете получить аутентификацию пользователя, например,

public function authInfo()
    {
        $user = Auth::user();
        if($user)
        {
          $data = [
            'name' => $user->name,
            'email' => $user->email,
            'status' => ($user->verified) ? 1 : 0,
          ];
          return response()->json(["data" => $data, 'status' => "200"]);
        }else{
         return response()->json(["failed" => "failed", 'status' => "204"]);
        }
    }

и добавить маршрут для этого метода

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