Laravel - Как запретить пользователям автоматический вход в систему Laravel - Azure Socialite - PullRequest
0 голосов
/ 26 марта 2020

В моем приложении Laravel -5.8 я использовал Azure Аутентификацию в социальных сетях AD:

LoginController

protected $redirectTo = '/dashboard';

public function redirectToProvider()
{
    return Socialite::with('azure')->redirect();
}

public function handleProviderCallback()
{
     $azureUser = Socialite::with('azure')->user();
    try 
    {
        $user = User::where('email', $azureUser->email)->orWhere('username', $azureUser->user['mailNickname'])->first();
        if($user)
        {
            if(Auth::loginUsingId($user->id))
            {
                $user->update([
                     'last_login_at' => now(),
                ]);
               return redirect()->route('dashboard');
            }
        }
    } 
    catch(\Exception $e) 
    {
        session()->flash("error", "Authentication failed, kindly contact the Administrator!");
        return redirect(route('login'));
    }
}

login.blade

     <h2 class="login-box-msg"><b>Welcome</b></h2>

        @if(session()->has('error'))
           <p>{{ session()->get('error') }}</p>
        @endif
        <form action="{{ route('login') }}" method="POST">
            {{ csrf_field() }}
            <div class="row">
                <div class="col-12">
                    <!--<button type="submit" class="btn btn-primary btn-block btn-flat">{{ trans('global.login') }}</button>-->
                    <a href="{{ route('azure.login') }}" class="btn btn-primary btn-block"> Login</a>
                </div>
            </div>
        </form>

Когда пользователь нажимает на Login, приложение должно перенаправить на Azure AD Login. И затем, если вход в систему успешен, он должен перенаправить на Dashboard.

Это происходит в первый раз, но когда пользователь хочет получить доступ к приложению в другое время, по щелчку входа он перенаправляет его прямо на панель без имени пользователя и пароля AZ.

Но когда я очищаю кеш браузера, он запрашивает имя пользователя и пароль.

Как заставить приложение в любой момент всегда запрашивать Azure учетные данные AD?

Спасибо.

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