如何在本机脚本中保存登录详细信息



当我登录时,我的登录应该被保存,我不想每次登录都输入用户名密码。

在我的代码下面:

login() {
this.userService.login(this.user)
.subscribe(
(response: any) => {
this.router.navigate(["/dashboard"]);
},
(error) => alert(error)
);
}

userService.ts

return this.http.post(
url,
JSON.stringify({
name: user.email,
password: user.password
}),
{
headers: new HttpHeaders().set('Content-Type', 'application/json'),
responseType: 'text'
}
)
.map((response: any) => {
for (var x in response) {
if (response.hasOwnProperty(x)) {
}
}
console.log("_body: " + response._body);
return response._body;
})
.catch(this.handleErrors)
}

最好记住,写入UserDefaultsSharedPreferences的任何键和值,因此应用程序设置模块使用的本机 API 以及getStringsetString方法只是存储在磁盘上,供任何有权访问手机的人查看。此 API 不用于存储敏感数据,仅用于保留用户设置,即"默认值"和"首选项"。

如果您想要一种方法在设备上安全地存储电子邮件地址和密码,请查看此库:Nativescript-secure-storage。它的工作与上述API非常相似,但所有内容都是加密的,因此人们不能只从磁盘读取内容。

NativeScript 公开了应用程序设置模块。应用程序设置模块用于在内置键/值存储中存储字符串、布尔值和数字。在 Android 上使用SharedPreferences,在 iOS 上使用NSUserDefaults

例如,您可以存储登录信息并使用它来检查用户是否已登录(就像您在本机Android和iOS项目中所做的那样( - 演示POC

就像@Nick建议的那样,您可以使用应用程序设置模块来存储您的访问令牌,您可以在以后用户返回时用于地下检查。

初始登录尝试成功后,从登录过程(或您选择的任何身份验证模式(获取您的 JWT 令牌并存储它以供以后重新身份验证,或者只是检查之前是否设置了键/[值]并且也可用于简单的离线登录。

使用JWT,也可以使用离线数据。 例如,查看此链接: https://medium.com/@njwest/building-a-react-native-jwt-client-api-requests-and-asyncstorage-d1a20ab60cf4

您可以使用本地存储。

你可能有

<TextField hint="{{ 'user_name' | L }}" autocorrect="false" required autocapitalizationType="none" [(ngModel)]="model.email"
#emailModel="ngModel" name="email" keyboardType="email"></TextField>

登录组件时,将其保存在本地存储中

localStorage.setString("username", this.model.email);

在 ngOnInit(( 中,你可以把它取回去

localStorage.getString("username");

最新更新