如何知道我的Web应用程序的APPLICATION_CLIENT_ID和YOUR_AUTH0_DOMAIN

时间:2018-12-04 14:06:50

标签: dns angular6 auth0 clientid

我已按照本指南https://auth0.com/blog/creating-beautiful-apps-with-angular-material/创建了一个Web应用程序。

在指南中,他们创建auth0.ts文件。

在那里,他们提到设置我的APPLICATION_CLIENT_ID和YOUR_AUTH0_DOMAIN。

我不知道从哪里获取这些ID。

这是我的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 :(得分:3)

听起来您注册了Auth0并创建了一个应用程序。

如果您转到Application Dashboard,则会看到列出了您的应用。

单击应用程序的名称,您将进入应用程序设置页面。右侧的小图标可让您复制所需的信息。

application settings

如果您尚未注册,则可以免费sign up

登录后,您需要创建一个新应用程序,然后单击“ + New Application”。在这里,您可以按照内置指南在Auth0内部创建单页应用程序

SPA button

创建应用程序后,可以将上述配置复制到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工作。