我正在尝试使用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));
});
});
}
...
有什么想法吗?
答案 0 :(得分:1)
LocationStrategy
和HashLocationStrategy
以解决路由网址问题,但这会导致Auth0
功能出现问题。
在app.module.ts
中移除它们以获得Auth0
功能。
//{provide: LocationStrategy, useClass: HashLocationStrategy},