在重定向URI回调后使用Angular从URL获取OAuth令牌

在重定向URI回调后使用Angular从URL获取OAuth令牌,angular,authentication,oauth-2.0,auth-guard,Angular,Authentication,Oauth 2.0,Auth Guard,我将Angular应用程序重定向到Spotify登录() 一旦他们登录,他们将被重定向回。此URL附加了一个令牌。但它立即重定向到(我希望它重定向到这里): const appRoutes:Routes=[{path:'callback',重定向到:'/host',pathMatch:'full'}] 如何/在何处保留身份验证令牌而不将其放在用户URL中 我意识到我最终也需要AuthGuards,但首先我想检索令牌。我建议您不要直接在路由配置中设置“redirectTo”。相反,添加回调组件来处

我将Angular应用程序重定向到Spotify登录() 一旦他们登录,他们将被重定向回。此URL附加了一个令牌。但它立即重定向到(我希望它重定向到这里):

const appRoutes:Routes=[{path:'callback',重定向到:'/host',pathMatch:'full'}]

如何/在何处保留身份验证令牌而不将其放在用户URL中


我意识到我最终也需要AuthGuards,但首先我想检索令牌。

我建议您不要直接在路由配置中设置“redirectTo”。相反,添加回调组件来处理令牌和重定向。例如:

const appRoutes: Routes = [
    { path: 'callback', component: CallbackComponent }
]
在回调组件中

export class CallbackComponent implements OnInit {
    constructor(private route: ActivatedRoute, private router: Router) {}

    public ngOnInit():void {
        const token = this.route.snapshot.queryParamMap.get('token');
        // Handle token
        // ...
        this.router.navigate(['./host']);
    }
}

我建议您不要在路由配置中直接设置“redirectTo”。相反,添加回调组件来处理令牌和重定向。例如:

const appRoutes: Routes = [
    { path: 'callback', component: CallbackComponent }
]
在回调组件中

export class CallbackComponent implements OnInit {
    constructor(private route: ActivatedRoute, private router: Router) {}

    public ngOnInit():void {
        const token = this.route.snapshot.queryParamMap.get('token');
        // Handle token
        // ...
        this.router.navigate(['./host']);
    }
}

验证是否不应在app.component.ts中处理自动重定向,如果是,则通过警卫处理,因为它负责重定向

然后


验证是否不应在app.component.ts中处理自动重定向,如果是,则通过警卫处理,因为它负责重定向

然后


嗨,拉森。我正试图实现这种类型的东西(对于KeyClope),但我得到了这个
useHash:true
。你知道我如何将useHash设置为true来实现同样的效果吗?因为keydepeat不允许在重定向uri中使用#?嘿,Larson。我正试图实现这种类型的东西(对于KeyClope),但我得到了这个
useHash:true
。既然keydepeat不允许重定向uri中的35;,我怎么能将useHash设置为true呢?