Issuing Access Tokens: Requesting Tokens

Redirecting For Authorization

Route::get('/redirect', function () {
    $query = http_build_query([
        'client_id' => 'client-id',
        'redirect_uri' => 'http://example.com/callback',
        'response_type' => 'code',
        'scope' => '',
    ]);

    return redirect('http://your-app.com/oauth/authorize?'.$query);
});

Approving The Request

Php artisan vendor:publish --tag=passport-views

Converting Authorization Codes To Access Tokens

Route::get('/callback', function (Request $request) {
    $http = new GuzzleHttp\Client;

    $response = $http->post('http://your-app.com/oauth/token', [
        'form_params' => [
            'grant_type' => 'authorization_code',
            'client_id' => 'client-id',
            'client_secret' => 'client-secret',
            'redirect_uri' => 'http://example.com/callback',
            'code' => $request->code,
        ],
    ]);

    return json_decode((string) $response->getBody(), true);
});

Issuing Access Tokens: Requesting Tokens — Structure map

Clickable & Draggable!

Issuing Access Tokens: Requesting Tokens — Related pages: