auth0:令牌数据出现在url中,并且经过身份验证的事件没有引发

时间:2016-09-22 13:21:45

标签: angular auth0

我正在尝试使用Angular2应用中的Auth0登录。代码源自Auth0 sample。它工作但现在行为有点奇怪。

附加到网址的令牌数据:

  

http://localhost:4200/#access_token=0ZoQ3U6Ma2tAhQnh&id_token=eyJ0e...jqd&token_type=Bearer

事件authenticated没有提出:

@Injectable()
export class Auth0Service {

  // Configure Auth0
  lock = new Auth0Lock('I21EAjbbpfPh...', 'xxx.au.auth0.com', {});

  constructor() {
    // Add callback for lock `authenticated` event
    this.lock.on("authenticated", (authResult) => {
      // Use the token in authResult to getProfile() and save it to localStorage
      this.lock.getProfile(authResult.idToken, function(error, profile) {
        if (error) {
          // Handle error
          return;
        }

        localStorage.setItem('id_token', authResult.idToken);
        localStorage.setItem('profile', JSON.stringify(profile));
      });
    });
  }
...

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

在刷新页面时添加了

LocationStrategyHashLocationStrategy以解决路由网址问题,但这会导致Auth0功能出现问题。

app.module.ts中移除它们以获得Auth0功能。

//{provide: LocationStrategy, useClass: HashLocationStrategy},