질문을 삭제하지 말아주세요.!
 
1
0
-1

소셜로그인 GITHUB를 따라해 보고 있는데요.

http://myapp.dev:8000/social/github 를 하면

TOO_MANY_REDIRECT가 뜨길래

라우팅을 변경해서 확인해 보니

아래와 같이 URL이 오고 있습니다.

http://myapp.dev:8000/social/github?error=redirect_uri_mismatch&error_description=The+redirect_uri+MUST+match+the+registered+callback+URL+for+this+application.&error_uri=https%3A%2F%2Fdeveloper.github.com%2Fv3%2Foauth%2F%23redirect-uri-mismatch&state=ZFD6mf8O7kOkGAlO2b6kf13NkxtVZcrWjySAIC6K

URI_MISMATCH라고 뜨는데

뭐가 잘못된 건지 모르겠습니다.

HOST 파일에는 127.0.0.1 myapp.dev가 설정되어 있는 상태이고

GIT 허브에서는

Homepage URL : http://myapp.dev:8000

http://myapp.dev:8000/social/github

로 설정되어 있는 상태입니다.
--- 추가 내용 ---

1. web.php파일

Route::get('social/{provider}', [
'as' => 'social.login',
'uses' => 'SocialController@execute',
]);

2. SocialController.php 파일

public function execute(Request $request, $provider)
{
   // code 필드가 있고 없음에 따라 로직을 분리한다.
   if (! $request->has('code')) {
      return $this->redirectToProvider($provider);
   }

   return $this->handleProviderCallback($provider);
}


위의 2.SocialController 에서 $request→has('code') 구문에서 분기하는 걸로 알고 있습니다.

GitHub에서 code 파라미터 값이 있다면 무한 REDIRECT 하지는 않을 걸로 보이나

문제는 GitHub에서 준 응답이 에러라서 정상적으로 동작하지 않는 걸로 보이는데

이게 왜 그런지 모르겠어서 질문 드렸습니다.

제가 놓친게 무엇인지 알려주세요.

    CommentAdd your comment...

    2 answers

    1.  
      2
      1
      0

      .env 설정 파일에서 GITHUB_CALLBACK URL 값에 오타가 있었습니다.  그 때문에 발생한 문제였네요.

      오타는 나의 원수 (sad)

        CommentAdd your comment...
      1.  
        1
        0
        -1

        calback url 은 깃헙에서 로그인 처리 후 사용자를 되돌려 보내는 주소인데, callback url 에 소셜 로그인 url을 입력하셨기 때문에 무한 redirect 가 되고 있는 것입니다.

        1. 정성화

          질문 내용을 수정하여 내용 보강하였습니다.

        CommentAdd your comment...