

認証までは問題なさそうなのですが、認証後のリダイレクト先で「このサイトにアクセスできません」と出てしまいます。  
とくにエラー表示は出ていないです。ご教授お願いします。  
環境：DockerToolbox使用。  
Windows10

GoogleAPIでのリダイレクトURL  
[![画像の説明をここに入力](https://i.stack.imgur.com/yvyqS.png)](https://i.stack.imgur.com/yvyqS.png)  
アドレス欄に設定されたURLが書いてある。  
[![画像の説明をここに入力](https://i.stack.imgur.com/OzNyV.png)](https://i.stack.imgur.com/OzNyV.png)  
web.php

[code]

    Route::prefix('login')->name('login.')->group(function () {
        Route::get('/{provider}', 'Auth\LoginController@redirectToProvider')->name('{provider}');
        Route::get('/{provider}/callback', 'Auth\LoginController@handleProviderCallback')->name('{provider}.callback');
    });
    
[/code]

ルーティングを指定しています。

LoginController.php

[code]

    <?php
    
    namespace App\Http\Controllers\Auth;
    
    use App\Http\Controllers\Controller;
    use App\User;
    use App\Providers\RouteServiceProvider;
    use Illuminate\Foundation\Auth\AuthenticatesUsers;
    use Illuminate\Http\Request;
    //===========ファサード==========
    use Laravel\Socialite\Facades\Socialite;
    
    class LoginController extends Controller
    {
        // 略
        public function redirectToProvider(string $provider)
        {
            return Socialite::driver($provider)->redirect();
        }
    
        public function handleProviderCallback(Request $request, string $provider)
        {
            $providerUser = Socialite::driver($provider)->stateless()->user();
    
            $user = User::where('email', $providerUser->getEmail())->first();
    
            if ($user) {
                $this->guard()->login($user, true);
                return $this->sendLoginResponse($request);
            }
            
        }
    }
    
[/code]

login.blade.php

[code]

    <h2 class="h3 card-title text-center mt-2">ログイン</h2>
    
       <a href="{{ route('login.{provider}', ['provider' => 'google']) }}" class="btn btn-block btn-info">
           <i class="fab fa-google mr-1"></i>Googleでログイン
       </a>
    
[/code]


CC BY-SA 4.0
2020-08-08T05:29:08.517
69356
2020-08-09T04:54:08.427
2020-08-09T03:11:54.280
39431
39431
question
laravel google-api
LaravelのSocialiteを用いたGoogle認証でグーグルアカウントを選択しログインしたとき正常にリダイレクトされない


自己解決しました。  
DokcerToolboxを使用している場合、ポートフォワーディングという処理をしないといけないようです。

管理者権限でコマンドプロントを開き以下のコマンドを実行すると、正常にリダイレクトされるようになりました。

[code]

    netsh interface portproxy add v4tov4 listenport=80 listenaddress=127.0.0.1 connectport=80 connectaddress=192.168.99.100
    netsh interface portproxy show v4tov4
    
[/code]

ありがとうございました。


CC BY-SA 4.0
2020-08-09T03:43:50.383
69383
2020-08-09T04:54:08.427
2020-08-09T04:54:08.427
3060
39431
69356
answer