我的问题是我使用auth0作为我的身份验证服务,现在当用户登录并通过身份验证后,它会被重定向回我的回调网址,然后决定将用户发送到何处,我的问题是当您重定向回到您的回调时来自auth0的url url字符串中有queryParams,如此...
http://localhost:4200/account/login/callback#access_token="dsadsadsadsa dasdsaa"
仅作为示例,但是在一瞬间,查询字符串被删除,它的左侧在 http://localhost:4200
现在我试图使用此方法获取查询Params
this.activatedRoute.queryParams.subscribe(params => {
console.log(params);
});
现在这应该可以工作,但是console.log每次都是一个空对象,我认为是因为那个url更改发生了..
有没有什么方法可以在删除之前获取查询参数?
EDIT
基本上发生的事情是我正在通过身份验证然后我被重定向到
localhost:4200/account/login/callback?acessToken="dasdasdaefssves"
但随后路线变为
localhost:4200/account/login/callback
在 activatedRoute
函数有机会运行之前没有查询参数!
任何帮助,将不胜感激!
2 回答
请注意您的redirect-url是
http://localhost:4200/account/login/callback?access_token="dsadsadsadsa dasdsaa"
但角度路线它
localhost:4200/account/callback
NOTE
您没有在angular中定义 /account/login/callback 路由 . 但是你有 /account/callback 路线 . Angular尝试解析路由并将其重定向到 /account/callback 而不使用queryParams .
以角度定义路线,您的问题将得到解决 .
我没有得到你完整的问题但是我理解的很多 . 您想从URL获取查询参数 .
从URL获取查询参数您需要执行此操作 .
这是您从URL获取所有查询参数的方法 .