API LinkedIn: токен, использованный в запросе OAuth, был отозван (Web Social Login) - PullRequest
0 голосов
/ 20 октября 2018

Вот как я пытаюсь получить пользовательские данные из LinkedIn:

$config = array(
    'appKey'       => 'appKey',
    'appSecret'    => 'appSecret',
    'callbackUrl'  => 'callbackUrl'
);

@session_start();

$linkedin = new LinkedInOAuth2( $config );

if ( $_GET['login_type'] == 'linkedin_login' ) {

    $scope  = array( 'r_emailaddress', 'r_basicprofile' );
    social_js_redirect( $linkedin-getAuthorizeUrl( $config['appKey'], $config['callbackUrl'], $scope ) );

} elseif ( ! empty( $_GET['code'] && ! empty( $_GET['state'] ) ) ) {
    $data   = $linkedin->getAccessToken( $config['appKey'], $config['appSecret'], $config['callbackUrl'] );

    if ( ! empty( $data['access_token'] ) ) {
        $linkedin->getProfile(); // Get user data from linkedin to add to database

    } else {
        // Invalid Authorization
    }
}

Это код ошибки, который добавляется в базу данных:

Array
(
    [0] => Array
        (
            [errorCode] => 0
            [message] => Then token used in this request has been revoked by the user.
            [requestId] => xxx
            [status] => 401
            [timestamp] => 1540051999134
        )

)

ПРИМЕЧАНИЕ. Проверьте мой PHPПо коду вы поймете, что LinkedIn успешно получит токен доступа

1 Ответ

0 голосов
/ 23 октября 2018

не могли бы вы попробовать добавить задержку в 5-6 секунд после получения токена.Большинство проблем, которые я вижу в stackoverflow / github относительно этой проблемы, связано с тем, что LinkedIn, по-видимому, не активирует токен, который он дает немедленно, так что ожидание немного помогает.

...