Laravel 8 授權(quán)時(shí)的重定向

2021-07-26 09:50 更新

客戶端創(chuàng)建之后,可以使用客戶端 ID 和生成的 code verifier 和 code challenge 來(lái)從你的應(yīng)用程序請(qǐng)求授權(quán)碼和訪問(wèn)令牌。首先,接入的應(yīng)用程序需要向你應(yīng)用程序的 /oauth/authorize 路由發(fā)出重定向請(qǐng)求:

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

    $request->session()->put('code_verifier', $code_verifier = Str::random(128));

    $codeChallenge = strtr(rtrim(
        base64_encode(hash('sha256', $code_verifier, true))
    , '='), '+/', '-_');

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

    return redirect('http://your-app.com/oauth/authorize?'.$query);
}); 
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)