하나의 Google 드라이브 계정을 사용하는 PHP 애플리케이션을 만들고 있습니다.새로 고침 토큰이있는 OAuth 플로우. 오류 500
관리자는 먼저 Google 드라이브 계정에 대한 권한을 부여합니다. 권한이 승인되면 데이터베이스에 새로 고침 토큰을 저장합니다.
이후, 다른 URL에서 클라이언트가 사용하게 될 것입니다. 인증을 시도하고 있습니다.
다음, 나는 데이터베이스에서 새로 고침 토큰을 당겨, 다음은에 게시 요청합니다
$url = "https://accounts.google.com/o/oauth2/token";
매개 변수
:
$post_data = array(
'client_id' => CLIENT_ID,
'client_secret' => CLIENT_SECRET,
'refresh_token' => $refreshToken,
'grant_type' => 'refresh_token');
받으려는 성공적인 응답 후, 나는 access_token과 저장을 하지만 자격 증명을 교환하려고하면이 오류가 발생합니다. 메시지 :
An error occurred: Error fetching OAuth2 access token, message: '
Error processing OAuth 2 request
Error 500
'
Fatal error: Uncaught exception 'CodeExchangeException' in ...
Am I m 여기에 뭔가를 내고 있니? oauth 흐름이 올바르게 사용 되었습니까?
미리 감사드립니다.
thnx입니다. 그래서 refresh token을 사용하여 access_token과 id_token을 포함하는 json obj를 얻습니다. 이 json obj로 무엇을해야합니까? 그것을 전달하여 서비스를 만드시겠습니까? – Paschalis
json 객체로 무엇을해야할지 모르겠습니다. 그러나 어딘가에 새로 고침 토큰과 관련된 추상화가 있어야합니다. google-api-php-client에 대해서는 잘 모르지만 google-api-python-client에서 Credentials.authorize가 자동으로 토큰을 새로 고침하여 만료 된 경우 개발자 수준에서 초기화하지 않습니다. 상쾌하게하는 것에 관해 무엇인가 귀찮게해야한다. 새로 고침과 관련하여 구현 된 추상화가 있어야하며 직접 처리 할 필요가 없습니다. 스스로 새로 고침을 처리하는 대신 설명서를 자세히 읽어 보는 것이 좋습니다. –