Javascript 角度2+;重定向到带有令牌的url

Javascript 角度2+;重定向到带有令牌的url,javascript,angular,Javascript,Angular,我用的是角度9。我想做类似的事情,但由于安全原因,我不想公开令牌 <a href="https://url?jwt=xxx"> 因此,由于这两个选项不是一个好主意,有没有办法重定向到url并将令牌添加到标头?还是有其他可行的方法 更多信息: 在我的用例中,我希望将用户重定向到不同的url。为了访问url,托管它的服务器需要jwt对用户进行身份验证。您不应该在url中发送jwt。相反,您可以将令牌添加到windows.localstorage。像这样 localS

我用的是角度9。我想做类似的事情,但由于安全原因,我不想公开令牌

<a href="https://url?jwt=xxx">
因此,由于这两个选项不是一个好主意,有没有办法重定向到url并将令牌添加到标头?还是有其他可行的方法

更多信息:


在我的用例中,我希望将用户重定向到不同的url。为了访问url,托管它的服务器需要jwt对用户进行身份验证。

您不应该在url中发送jwt。相反,您可以将令牌添加到
windows.localstorage
。像这样

localStorage.setItem('token', jwt);

提及


请参阅以在angular 2中导航并添加查询参数

在HTML中:

<a [routerLink]="['urlToNavTo']" [queryParams]="{jwt: tokenValue}"> link title </a>

希望这就是你所需要的。

嗨@TheWellhopper,谢谢你的回答,但这不是我要问的。我知道我不能暴露令牌。我想重定向到另一个url并安全地传递令牌。我不需要将令牌存储在浏览器上,而是将其传递到需要重定向到的位置(即服务器)。因此,如果我可以在标题中设置它,这将是一个可行的选项(但我不确定这是否可行)。添加一个可以在服务器上读取的cookie是一个可行的选项吗?谢谢你的回答。但是,这不会在url中公开参数吗?是的,但它总是公开的(即使在标题中),这就是它被加密的原因。如果您切换域,则将其保存在本地存储中不会有任何帮助。另一个选项是通过会话id(在服务器中管理)发送您对使用令牌添加cookie的看法,然后服务器读取cookie?服务器读取cookie?我可能弄错了,但饼干是给客户的。您将如何使服务器访问它?在Java中,您可以这样做:
Cookie[]cookies=request.getCookies()
$window.localStorage.token = JSON.stringify(jwt);
<a [routerLink]="['urlToNavTo']" [queryParams]="{jwt: tokenValue}"> link title </a>
import {Router} from "@angular/router"

constructor(private router: Router) {}

this.router.navigate(['urlToNavTo'], {queryParams: {jwt: tokenValue}});