我有一个配置了以下回调网址的Auth0客户端:
我可以登录。
问题是当我导航到我的应用中的某个网址时:http://localhost:4200/places
。这是发生的事情:
http://localhost:4200/places
http://localhost:4200
Auth0是正确的,http://localhost:4200/places
不在我允许的回调网址列表中 - 我不希望它。我不希望列出我的用户可能被踢回登录屏幕的任何URL。
因为某些原因,正在发生的事情正在告诉Auth0引用网址是http://localhost:4200/places
而不是http://localhost:4200
,即使我尝试http://localhost:4200
实际上是地址栏中的网址登录。
我意识到我可以将http://localhost:4200
指定为redirectUrl
并“修复”问题,但是我必须使redirectUrl
在开发,登台和制作方面有所不同。看起来这似乎不是人们通常解决这个问题的方式。
如何让Auth0不要尝试将我重定向到/places
?
答案 0 :(得分:2)
我遇到了同样的问题并用史莱克的上述建议(与我不同的施莱克)解决了这个问题。但是,我不得不使用window.top.location.origin而不是window.top.location.hostname。对我来说,window.top.location.origin等同于Auth0中客户端设置中的Allowed Callback URL值。
这是我的代码:
let stateOptions =
{
"auth0_authorize": this.authNonce,
"return_url": router.url
};
let options =
{
closable: false,
languageDictionary:
{
emailInputPlaceholder: "something@youremail.com",
title: "Log me in"
},
auth:
{
redirectUrl: window.top.location.origin,
redirect: true,
responseType: 'token',
params:
{
state: btoa(JSON.stringify(stateOptions)),
scope: 'openid user_id name nickname email picture'
}
}
};
this.lock = new Auth0Lock('[your-auth0-clientid]', '[your-auth0-domain]', options);
答案 1 :(得分:1)