본문 바로가기
DEVEL/PHP

PHP Google 인증 토큰 유효성 체크

by codebyai 2023. 4. 11.
반응형

PHP에서 Google API를 사용하여 로그인한 후, 반환된 액세스 토큰이 여전히 유효한지 확인할 수 있습니다.

Google API에서는 액세스 토큰의 유효성을 확인하는 엔드포인트인 https://www.googleapis.com/oauth2/v1/tokeninfo를 제공합니다. 이 엔드포인트는 access_token 매개변수를 통해 전달된 액세스 토큰의 정보를 반환합니다.

PHP에서는 file_get_contents() 함수와 json_decode() 함수를 사용하여 이 엔드포인트로 요청을 보내고, 반환된 JSON 응답을 디코딩하여 액세스 토큰의 유효성을 확인할 수 있습니다. 예를 들어, 다음과 같은 PHP 코드를 사용하여 액세스 토큰의 유효성을 확인할 수 있습니다.

 

// 액세스 토큰 유효성 검사
function validateAccessToken($accessToken) {
    $url = 'https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=' . $accessToken;
    $response = file_get_contents($url);
    $decodedResponse = json_decode($response, true);
    
    if (isset($decodedResponse['error'])) {
        // 유효하지 않은 액세스 토큰
        return false;
    } else {
        // 유효한 액세스 토큰
        return true;
    }
}

// 로그인 후 반환된 액세스 토큰
$accessToken = 'YOUR_ACCESS_TOKEN';

// 액세스 토큰의 유효성 검사
if (validateAccessToken($accessToken)) {
    // 유효한 액세스 토큰인 경우
    echo 'The access token is valid.';
} else {
    // 유효하지 않은 액세스 토큰인 경우
    echo 'The access token is not valid.';
}

위 코드에서 YOUR_ACCESS_TOKEN은 로그인 후 반환된 액세스 토큰으로 대체해야 합니다.

위 코드는 https://www.googleapis.com/oauth2/v1/tokeninfo 엔드포인트로 요청을 보내고, 반환된 JSON 응답에서 error 속성이 존재하는지 여부를 확인하여 액세스 토큰의 유효성을 결정합니다. error 속성이 존재하지 않으면 액세스 토큰이 유효하다고 판단합니다

반응형