2017-07-06 1 views
0

Comme mention dans laravel-passport le contrôleur de connexion est faite à partir php artisan make:auth et dans notre routeur web.php faudrait Auth::routes();passeport Laravel avec le contrôleur de connexion personnalisée

Code simple dans notre client-site

Route::get('/redirect', function() { 

    $query = http_build_query([ 
     'client_id' => 'client-id', 
     'redirect_uri' => 'http://client-site/callback-responses-url', 
     'response_type' => 'code', 
     'scope' => '' 
    ]); 

    return redirect('http://server-site/oauth/authorize?'.$query); 
}); 

Si l'utilisateur est log pas dans le http://server-site/oauth/authorize?'.$query serait rediriger vers http://server-site/login

Dans tous les cas, je voudrais rediriger le contrôleur de connexion à mon contrôleur de connexion personnalisé. Ensuite, après avoir vérifié l'utilisation si est vrai serait spectacle Voir authorization request agreement

Simplement j'ai essayé de vérifier oauth/authorize et je n'ai pas trouvé de fonction ou contrôleur gérer ce lien. Et si donné une chance à nouveau. Je savoir plus sur le laravel-passport comment le travail de OAuth, et ainsi je pourrait faire le custom authorization view aussi après que l'utilisateur a connecter

Toute aide serait si utile merci (:

+0

vous devez utiliser le paquet 'Laravel/passport' pour atteindre cet objectif –

+0

qu'est-ce que vous voulez dire? @AdnanMumtaz – Kelvin

+0

s'il vous plaît suivez ce guide, il est assez facile https://laravel.com/docs/5.4/passport –

Répondre

0

Après que je fais grande recherche dans le passeport de Laravel, j'ai obtenu la solution comment personnaliser le passeport Laravel.

dans votre app\Exception\Handler.php il y a un code

protected function unauthenticated($request, AuthenticationException $exception) 
{ 
    if ($request->expectsJson()) { 
     return response()->json(['error' => 'Unauthenticated.'], 401); 
    } 

    //return redirect()->guest(route('login')); 
    return redirect()->guest(route('accountLogin')); // change this part to your login router 
} 

alors dans votre login controller qui est e gestionnaire e login login ajouter ce code

if(session("url")["intended"] != null){ 
    $redirect = session("url")["intended"]; 
}else{ 
    $redirect = "/home"; 
} 

return Redirect($redirect); 

Les codes sont à rediriger vers la page client. Sûrement si vous en savez un peu plus sur le AuthenticatesUsers en vendor\laravel\framework\src\Illuminate\Foundation\Auth comment ils fonctionnent, vous pouvez construire votre propre beau code.

La dernière étape que j'ai trouvée est ici: RouteRegistarar c'est pour la façon dont l'autorisation de route est franchie.

Jusqu'à présent, je ne personnalise pas encore ma page d'autorisation. Actuellement, je faisais un beau code third party, donc le client pourrait être facile à utiliser.

C'est tout ce que je sais sur le passeport Laravel pour personnaliser la page de connexion