我的问题是我使用auth0作为我的身份验证服务,现在当用户登录并通过身份验证时,它被重定向回我的回调url,然后决定将用户发送到哪里,我的问题是,当您从auth0重定向回回调url时,url字符串中有queryParams,如下所示。
http://localhost:4200/account/login/callback#access_token="dsadsadsadsa dasdsaa"只是一个例子,但是在一瞬间,查询字符串被移除,它在http://localhost:4200左转,现在我试图使用这个方法来获取查询参数
this.activatedRoute.queryParams.subscribe(params => {
console.log(params);
});现在这应该可以了,但是每次console.log都是一个空对象,我认为这是因为这个url发生了更改。
有什么方法可以在删除之前获取查询参数吗??
编辑
基本上,发生的事情是,我得到认证,然后被重定向到
localhost:4200/account/login/callback?acessToken="dasdasdaefssves"
但后来路线改变到
localhost:4200/account/login/callback
如果没有查询参数,activatedRoute函数将有机会运行!
任何帮助都将不胜感激!
发布于 2018-05-17 06:27:21
注意您的重定向-url是http://localhost:4200/account/login/callback?access_token="dsadsadsadsa dasdsaa"。
但是有角度地将它路由到localhost:4200/account/callback
注意事项
你没有用角来定义/account/login/callback路径。但你用的是/account/callback路线。角试图解析路由并将其重定向到/account/callback,而不使用queryParams。
用角度定义路线,你的问题就会得到解决。
发布于 2018-05-17 05:58:56
我没有完全理解你的问题,但据我所知。您希望从URL中获取查询参数。
要从URL获取查询参数,您需要这样做。
constructor(private activatedRoute: ActivatedRoute){}这就是如何从URL中获取所有查询参数的方法。
this.activatedRoute.queryParamMap
.map((params: Params) => params.params)
.subscribe( (params) => {
if(params && params['access_token']){
console.log(params['access_token']);
}
});https://stackoverflow.com/questions/50384171
复制相似问题