阅读(4079) (10)

Laravel 8 授权时重定向

2021-07-09 11:44:51 更新

当客户端被创建后,开发者们会用它们的客户端 ID (client_id) 和密钥(secret) 请求授权码,并从应用程序访问令牌。 首先,接入应用的用户向你应用程序的 /oauth/authorize 路由发出重定向请求,示例如下:

Route::get('/redirect', function (Request $request) {
    $request->session()->put('state', $state = Str::random(40));

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

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

技巧:注意,路由 /oauth/authorize 已经在 Passport::routes 方法中定义。你不需要手动定义此路由。