Angular在浏览器地址栏中公开登录名和密码



我有一个Angular 9应用程序。有时(非常罕见(当我的身份验证数据在浏览器地址栏中显示时,我会遇到问题例如,代替

http://localhost:8080/#/application/48

出于某种原因,它看起来像

http://localhost:8080/?username=foo&password=bar#/application/48

这种事不是经常发生,但无论如何。我在应用程序中使用ng-idle库。它使应用程序在一些空闲超时后返回登录页面。根据我的观察,这个问题发生在空闲工作完成之后。

问题出在哪里?有没有办法严格禁止暴露?

可能您有一个使用用户名和密码提交的登录表单,这是form的默认行为,下面是您可以停止提交表单并手动将表单提交给API的方法。

//HTML
<form (submit)="onSubmit($event)">
<input type="text" name="username">
<input type="password" name="password">
<button>Submit</button>
</form>
//TS
onSubmit(evt) {
evt.preventDefault();//Stops submitting form
//Call API to login
}

最新更新