Как получить информацию о пользователе с nativescript-oauth2 после того, как пользователь предоставит разрешение? - PullRequest
0 голосов
/ 24 июня 2019

Я работаю над базовым Nativescript приложением, основанным на демо:

https://github.com/alexziskind1/nativescript-oauth2/blob/master/demo-angular/src/app/auth.service.ts

import { Injectable } from "@angular/core";

import {
  TnsOAuthClient,
  ITnsOAuthTokenResult
} from "nativescript-oauth2";

@Injectable()
export class AuthService {
  private client: TnsOAuthClient = null;

  constructor() { }

  public tnsOauthLogin(providerType): Promise<ITnsOAuthTokenResult> {
    this.client = new TnsOAuthClient(providerType);

    return new Promise<ITnsOAuthTokenResult>((resolve, reject) => {
      this.client.loginWithCompletion(
        (tokenResult: ITnsOAuthTokenResult, error) => {
          if (error) {
            console.error("back to main page with error: ");
            console.error(error);
            reject(error);
          } else {
            console.log("back to main page with access token: ");
            console.log(tokenResult);
            resolve(tokenResult);
          }
        }
      );
    });
  }

  public tnsOauthLogout() {
    if (this.client) {
      this.client.logout();
    }
  }
}

, которое возвращает токен доступа.

Мой вопрос: как я могу получить информацию о пользователе с этой библиотекой: nativescript-oauth2?

Я знаю, что когда у вас есть токен доступа, вы можете получить некоторую информацию о пользователе (идентификатор, имя, адрес электронной почты и т. Д.)).Например, в Facebook вы можете сделать это следующим образом, используя (фиктивный) токен доступа:

https://graph.facebook.com/me?access_token=EAAF9wRREKB4BANZAZCNzp0nhmY8dgttSicR3u3aOxieEYR0kZAw298lHZAsgIwAeA9n4MeBWKivZBZB0ElFbzvo5N49kpIVozNKWFslcYIssdORsg4hHelxJI05ZBuycBjm6VrDpwWlljXkNCLR8prtdopt4mBWMYbqNouzpfn9JrF6TyXCaa2D4DhZBD4pOCBwZD

Есть ли способ получить информацию о пользователе (id, name, электронная почта и т. д.) с этой библиотекой nativescript-oauth2?

Как указать область действия полей, которые я хочу получить? Например: { name, email, etc } с помощью nativescript-oauth2?

Спасибо!

...