>  Q&A  >  본문

Twitter OAuth 2.0 오류에 "전달된 토큰 값이 유효하지 않습니다"라는 메시지가 표시됩니다.

편집: 해결책을 확인하세요. 문제는 Twitter 라이브러리가 인스턴스화되는 방식에 있습니다.

OAuth2를 사용하여 트위터 인증을 받으려고 합니다. 간단한 테스트 스크립트로 작동하게 할 수 있지만 WordPress 플러그인에서 사용하려고 하면 작동하지 않습니다.

저는 PHP League의 OAuth2 클라이언트와 이를 Twitter에 연결하기 위해 작성한 라이브러리를 사용하고 있습니다. 테스트 스크립트는 readme 파일에 있습니다.

테스트 스크립트는 OAuth2 상태를 $_SESSION에 저장합니다. 실제 애플리케이션은 이를 WordPress 임시 항목에 저장합니다. 파이프를 통해 데이터의 무결성을 확인했습니다.

인증 URL 생성 후 Twitter 라이브러리의 데이터:

으아아아

콜백 중 WordPress 임시에서 추출된 데이터(약간 다르게 저장됨):

으아아아

Twitter 토큰 엔드포인트에서 객체를 요청하세요.

으아아아

위 요청 텍스트:

으아아아

오류:

으아아아

여기서 뭔가 어리석은 것을 놓치고 있다는 것을 알고 있습니다. 하지만 평생 무엇을 알아낼 수는 없습니다. 실제 애플리케이션에는 테스트 스크립트보다 훨씬 더 많은 코드가 있지만 Twitter로 보내기 전을 포함하여 스택의 여러 지점에서 데이터를 확인했습니다. 테스트해야 할 다른 것이 있습니까, 아니면 잊어버린 것이 있습니까?

P粉865900994P粉865900994282일 전693

모든 응답(1)나는 대답할 것이다

  • P粉155710425

    P粉1557104252023-12-17 00:47:56

    오류가 발견되었습니다. 테스트 스크립트에서 redirectUri 被传递到 OAuth2 客户端的构造函数中;在应用程序中,它被传递到 getAuthorizationUrl 函数中。这适用于对 Twitter 的初始调用,但(显然)getAccessToken 호출에도 이 데이터가 필요합니다. 그래서 여기에 수정 사항이 있습니다.

    오래되고 파손됨:

    으아아아

    새로운 핫스팟:

    으아아아

    회신하다
    0
  • 취소회신하다