나는 OAuth 2.0 서버를 만들기 위해 기본 OAuth 2.0 tutorial을 따라 왔습니다. 그 모든 부분이 잘 작동했지만, Google OAuth2 놀이터에서 this 페이지를 따라 놀려고 할 때 오류가 발생했습니다.Oauth2 토큰에 대한 놀이터 교환 인증 코드 :
http://localhost/wordpress/authorize.php?state=xyz
을 인증 용 끝점으로 사용한다는 것을 제외하고는 위의 링크에있는 모든 단계를 수행했습니다. 그렇지 않으면 상태가 필요하다는 오류가 표시되고 아직 코드를 편집하지 않으려 고했기 때문에 모든 단계를 수행했습니다.
이제 API를 승인하면 모든 것이 제대로 작동하는 것 같습니다. 내 로컬 호스트 사이트로 연결되며 요청을 승인하면 OAuth2 놀이터로 돌아갑니다. 다음 단계로 넘어가 토큰에 대해 반환 된 인증 코드를 교환하려고하면 400 오류가 발생합니다.
POST /wordpress/token.php HTTP/1.1
Host: localhost
Content-length: 191
content-type: application/x-www-form-urlencoded
user-agent: google-oauth-playground
code=6d408c28d468db6586320bff3aacf16492489b67&redirect_uri=https%3A%2F%2Fdevelopers.google.com%2Foauthplayground&client_id=newclient&scope=& client_secret=newpass&grant_type=authorization_code
______________________________________________________________________
HTTP/1.1 400 Bad Request
Content-length: 106
Content-type: text/plain
An error occured while connecting to the server: Unable to fetch URL: http://localhost/wordpress/token.php
이가 내 말에 제작 한 간단한 오류가있을 수 있습니다하지만 난 그것을 알아낼 수 없습니다 다음과 같이
전체 요청/응답입니다. 튜토리얼 페이지에서 테스트 할 때 모든 것이 정상적으로 작동하기 때문에 코드가 실제로 문제가되는 것은 아닙니다. 또한 예제에서 사용하는 라이브러리의 파일을 편집하지 않았습니다. 필요한 경우이 게시물을 편집하여 링크가 비활성 상태가 될 수있는 규칙을 준수하는 코드를 포함시킬 수 있습니다.
내가 요청에 대해 알아 차 렸던 한 가지는이 &scope=&client_secret=newpass&grant_type=authorization_code
입니다. 범위 매개 변수가 설정되어 있지 않은 것처럼 보였습니다. 결과가 엉망이 될 수도 있습니다.
누구나 OAuth 또는 OAuth2 놀이터에 대한 경험이 있고 상황이 잘못되었다고 생각하면 정말 감사 할 것입니다. 또한, 오랜 질문에 사과드립니다.하지만 할 수있는 한 많은 정보를 포함하고 싶었습니다.
ngrok 및 localtunnel에 몇 가지 팁/링크가 추가되었습니다.이 팁/로컬 링크는 로컬 URL을 외부에 노출시킬 수있는 멋진 서비스입니다. – Nivco