重定向标头在 Laravel 中可见而不是隐藏

pir*_*max 3 laravel laravel-8

我使用Laravel 8(最后一个版本),我希望将用户重定向到 Twitter 以记录他们。

我意识到以前版本的 Laravel 上也有这个显示。

我使用这一行代码:

return redirect()->away($url);
// or
return redirect($url);
Run Code Online (Sandbox Code Playgroud)

为什么,当我使用此行代码通过 Twitter 登录用户时,我在登录页面和 Twitter 登录页面之间的页面上显示了此内容?

我在控制器中的登录方法

use Abraham\TwitterOAuth\TwitterOAuth;

public function login(Request $request): string
{
    $connection = new TwitterOAuth(
        config('services.twitter.client_id'),
        config('services.twitter.client_secret')
    );

    $requestToken = $connection->oauth('oauth/request_token', [
        'oauth_callback' => config('services.twitter.redirect'),
    ]);

    $request->session()->put('oauth_token', $requestToken['oauth_token']);
    $request->session()->put('oauth_token_secret', $requestToken['oauth_token_secret']);

    $url = $connection->url('oauth/authorize', [
        'oauth_token' => $requestToken['oauth_token'],
    ]);

    return redirect()->away($url);
}
Run Code Online (Sandbox Code Playgroud)

重定向是可见的,而且很难看。

在此处输入图片说明

小智 7

为您的登录函数声明了不正确的返回值,您应该将返回类型更改stringRedirectResponse(或者,您可以完全删除类型声明)

public function login(Request $request): string
Run Code Online (Sandbox Code Playgroud)

到:

public function login(Request $request): \Illuminate\Http\RedirectResponse
Run Code Online (Sandbox Code Playgroud)