Использование PayPal REST SDK (Node JS) не может генерировать информацию о пользователе - PullRequest
0 голосов
/ 19 декабря 2018

Использование кнопки входа в систему настройки PayPal (https://developer.paypal.com/docs/integration/direct/identity/button-js-builder/), Я получу доступ к коду авторизации зарегистрированного пользователя. Используя этот код авторизации, я хочу получить информацию о пользователе, такую ​​как адрес электронной почты, имя и фамилия. Использовать репозиторий GitHubдля справки.

Репозиторий GitHub - https://github.com/nishit321/PayPalIdentityNode

Проблема - мне не удается получить информацию о пользователе (электронная почта, имя и т. д.) с помощью кода авторизации (сгенерировать с помощьюиспользуя кнопку входа в систему PayPal). Я получаю только user_id согласно приведенному ниже коду.

var paypal = require('paypal-rest-sdk');
var openIdConnect = paypal.openIdConnect;
paypal.configure({
    'mode': 'sandbox', //sandbox or live
    'openid_client_id': 'xxx',
    'openid_client_secret': 'xxxx',
    'openid_redirect_uri' : 'http://localhost:4200/paypal-identity'
});
console.log(openIdConnect.authorizeUrl({'scope': 'openid profile'}));
// With Authorizatiion code
openIdConnect.tokeninfo.create('auth-code-here', function (error, tokeninfo) {
    if (error) {
        console.log(error);
    } else {
        openIdConnect.userinfo.get(tokeninfo.access_token, function (error, userinfo) {
            if (error) {
                console.log(error);
            } else {
                console.log(tokeninfo);
                console.log(userinfo);

                // Logout url
                //console.log(openIdConnect.logoutUrl({ 'id_token': tokeninfo.id_token }));
            }
        });
    }
});

Выше приведен код ответа, как показано ниже -

{ token_type: 'Bearer',
  expires_in: '28800',
  refresh_token: 'xxx',
  id_token: 'xxx',
  access_token: 'xxx',
  httpStatusCode: 200 }
{ user_id: 'https://www.paypal.com/webapps/auth/identity/user/xxxx',
  httpStatusCode: 200 }
...