如何从django令牌在angular上设置会话存储?

如何从django令牌在angular上设置会话存储?,django,angular,angular7,Django,Angular,Angular7,目前有一个应用程序(应用程序A)在地面上,我想对其进行集成(应用程序B) 应用程序A是由Django开发的 应用程序B将使用Angular开发 因此,当用户已经登录到应用程序a,然后单击指向应用程序B的链接时,当重定向到应用程序B时,应为该用户生成令牌。我需要将令牌存储在存储器中,并从中获取电子邮件、用户名e.t.c.等数据。打开应用程序时,将令牌添加到url。然后,您可以使用以下命令从url中获取它 constructor() { private _route: ActivatedRo

目前有一个应用程序(应用程序A)在地面上,我想对其进行集成(应用程序B)

应用程序A是由Django开发的

应用程序B将使用Angular开发


因此,当用户已经登录到应用程序a,然后单击指向应用程序B的链接时,当重定向到应用程序B时,应为该用户生成令牌。我需要将令牌存储在存储器中,并从中获取电子邮件、用户名e.t.c.等数据。

打开应用程序时,将令牌添加到url。然后,您可以使用以下命令从url中获取它

constructor() {
    private _route: ActivatedRoute
}

ngOnInit() {
    this._route.queryParams.subscribe(params => {
        if(params['token']) {
            sessionStorage.setItem('djangoToken', params['token'])
        }
    })
}
然后,您可以在API请求中使用此令牌,以从服务器获取不需要的数据

this.http.get(`server_url/?token=${sessionStorage.getItem('djangoToken')}`).subscribe(
    data => {
        // Do something with your data...
    }
)

所有这些都将在data.service.ts文件中吗?不,顶部部分将在组件中。可能是app.component.ts,因为您希望在加载时调用它。然后http方法将在您的服务中。因此,一旦您获得了令牌,您就可以使用令牌作为参数调用服务并取回数据。