我试图在我的Angular2应用程序中使用lock(版本10.11.0)实现Auth0。如果我在Auth0的客户端的允许回拨URL设置中列出所有可能的路由,Auth0将起作用。似乎Auth0从用户决定登录时遇到的任何URL中获取回调URL。这不是一种可扩展的方法。你是怎么解决的?
我尝试在auth选项中输入redirectUrl值。这让我更进一步,因为应用程序重定向到提供的URL,但是,Auth0 lock的经过身份验证的回调从不会触发,因此我无法检索经过身份验证的用户的配置文件。
所以,我被卡住了。似乎我唯一的行动方针是在Auth0的客户端的允许回拨URL设置中列出所有可想到的路线,并祈祷市场营销人员不会提供更多路线。
这是我的代码:
let options =
{
auth:
{
//redirectUrl: 'http://localhost:4200',
//redirect: true,
responseType: 'token',
params:
{
scope: 'openid user_id name nickname email picture'
}
}
};
this.lock = new Auth0Lock('xxx', 'yyy', options);
this.lock.on("authenticated", (authResult) =>
{
console.log('@@@@ AUTH RESULTS:', authResult);
localStorage.setItem('id_token', authResult.idToken);
this.lock.getProfile(authResult.idToken, (error, profile) =>
{
if (error)
{
return;
}
console.log('@@@@ AUTHENTICATED USER PROFILE:', profile);
});
}
有关如何使Auth0工作的任何想法,以便您在决定进行身份验证之前不必列出用户可以使用的每条可能路线吗?