> 백엔드 개발 > PHP 튜토리얼 > Offline_Access 지원 중단 후 Facebook 액세스 토큰 유효성을 어떻게 연장할 수 있나요?

Offline_Access 지원 중단 후 Facebook 액세스 토큰 유효성을 어떻게 연장할 수 있나요?

Patricia Arquette
풀어 주다: 2024-11-26 06:33:10
원래의
793명이 탐색했습니다.

How Can I Extend Facebook Access Token Validity After Offline_Access Deprecation?

Offline_Access 지원 중단 후 액세스 토큰 유효 기간 연장

문제:

Facebook 인증 흐름에서 오프라인_액세스 권한 지원 중단 , 해당 권한 없이 수명이 긴 액세스 토큰을 검색하는 것이 어려워졌습니다. 서버측 OAuth 토큰이 오래 지속된다는 Facebook 문서에도 불구하고 그렇지 않습니다.

해결책:

Facebook은 PHP SDK에 메소드를 포함하도록 업데이트했습니다. 액세스 토큰 유효성을 연장합니다.

업데이트된 SDK 방법:

setExtendedAccessToken이라는 공개 함수가 base_facebook.php에 추가되었습니다. 이 함수는 만료일이 60일인 새 액세스 토큰을 반환합니다.

사용법:

일반 액세스 토큰을 받은 후 이 함수를 호출하세요. getAccessToken 공개 함수를 사용하여 새 토큰에 액세스할 수 있습니다.

확장 액세스 토큰 기능:

public function getExtendedAccessToken(){

    try {
        $access_token_response =
            $this->_oauthRequest(
                $this->getUrl('graph', '/oauth/access_token'), array(
                    'client_id' => $this->getAppId(),
                    'client_secret' => $this->getAppSecret(),
                    'grant_type' => 'fb_exchange_token',
                    'fb_exchange_token' => $this->getAccessToken()
                )
            );
    } catch (FacebookApiException $e) {
        return false;
    }

    if (empty($access_token_response)) {
        return false;
    }

    $response_params = array();
    parse_str($access_token_response, $response_params);
    if (!isset($response_params['access_token'])) {
        return false;
    }

    return $response_params['access_token'];
}
로그인 후 복사

참고:

  • 고급 앱에서 "오프라인 액세스 지원 중단"을 활성화했는지 확인하세요. 설정.
  • setExtendedAccessToken을 호출하여 확장 토큰을 얻습니다.
  • getAccessToken을 사용하여 확장 토큰에 액세스합니다.

위 내용은 Offline_Access 지원 중단 후 Facebook 액세스 토큰 유효성을 어떻게 연장할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿