как узнать APPLICATION_CLIENT_ID и YOUR_AUTH0_DOMAIN моего веб-приложения - PullRequest
0 голосов
/ 04 декабря 2018

Я создал веб-приложение, следуя этому руководству https://auth0.com/blog/creating-beautiful-apps-with-angular-material/.

В руководстве они создают файл auth0.ts.

Там они упомянули настройку моих APPLICATION_CLIENT_ID и YOUR_AUTH0_DOMAIN.

Я не понимаю, откуда взять эти идентификаторы.

Вот код для моего auth.ts файла.

import { Injectable } from '@angular/core';
import { Router } from '@angular/router';
import * as auth0 from 'auth0-js';

(window as any).global = window;

@Injectable()
export class AuthService {

  auth0 = new auth0.WebAuth({
    clientID: '<APPLICATION_CLIENT_ID>',
    domain: '<YOUR_AUTH0_DOMAIN>',
    responseType: 'token',
    redirectUri: 'http://localhost:4200/',
    scope: 'openid'
  });
  accessToken: String;
  expiresAt: Number;

  constructor(public router: Router) { }

  public login(): void {
    this.auth0.authorize();
  }
  public handleAuthentication(): void {
    this.auth0.parseHash((err, authResult) => {
      if (authResult && authResult.accessToken) {
        window.location.hash = '';
        this.accessToken = authResult.accessToken;
        this.expiresAt = (authResult.expiresIn * 1000) + new Date().getTime();
        this.router.navigate(['/dashboard']);
      } else if (err) {
        this.router.navigate(['/']);
        console.log(err);
      }
    });

  }
  public logout(): void {
    this.accessToken = null;
    this.expiresAt = null;

    this.router.navigate(['/']);
  }
  public isAuthenticated(): boolean {
    return new Date().getTime() < this.expiresAt;
  }
}

1 Ответ

0 голосов
/ 04 декабря 2018

Похоже, вы зарегистрировались в Auth0 и создали приложение.

Если вы перейдете на панель инструментов Application , вы увидите свое приложение в списке.

Нажмите на название приложения, и вы попадете на страницу настроек приложения.Маленькие значки справа позволяют скопировать необходимую информацию.

application settings

Если вы еще не зарегистрировались, вы можете зарегистрироваться бесплатно.

После входа в систему и вам необходимо создать новое приложение, нажмите «+ Новое приложение».Отсюда вы можете следовать встроенному руководству по созданию одностраничного приложения внутри Auth0.

SPA button

Once you 'Создав ваше приложение, вы можете скопировать вышеупомянутую конфигурацию в файл auth.ts.

Если вы скопируете настройки из моего скриншота, ваш файл auth.ts будет выглядеть так:

import { Injectable } from '@angular/core';
import { Router } from '@angular/router';
import * as auth0 from 'auth0-js';

(window as any).global = window;

@Injectable()
export class AuthService {

  auth0 = new auth0.WebAuth({
    clientID: 'c45ij324tg345bjnfojo2u6b4352',
    domain: 'your-auth0-domain.auth0.com',
    responseType: 'token',
    redirectUri: 'http://localhost:4200/',
    scope: 'openid'
  });
  accessToken: String;
  expiresAt: Number;

  constructor(public router: Router) { }

  public login(): void {
    this.auth0.authorize();
  }
  public handleAuthentication(): void {
    this.auth0.parseHash((err, authResult) => {
      if (authResult && authResult.accessToken) {
        window.location.hash = '';
        this.accessToken = authResult.accessToken;
        this.expiresAt = (authResult.expiresIn * 1000) + new Date().getTime();
        this.router.navigate(['/dashboard']);
      } else if (err) {
        this.router.navigate(['/']);
        console.log(err);
      }
    });

  }
  public logout(): void {
    this.accessToken = null;
    this.expiresAt = null;

    this.router.navigate(['/']);
  }
  public isAuthenticated(): boolean {
    return new Date().getTime() < this.expiresAt;
  }
}

Раскрытие: я работаю на Auth0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...