Nativescript 如何在本机脚本中保存登录详细信息
当我登录时,我的登录应该被保存,我不想每次登录都输入用户名和密码 下面是我的代码:Nativescript 如何在本机脚本中保存登录详细信息,nativescript,Nativescript,当我登录时,我的登录应该被保存,我不想每次登录都输入用户名和密码 下面是我的代码: login() { this.userService.login(this.user) .subscribe( (response: any) => { this.router.navigate(["/dashboard"]); }, (error) => a
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)
}
使用JWT,也可以使用脱机数据。 请查看此链接,例如:
使用JWT,也可以使用脱机数据。 请查看此链接,例如:
NativeScript已公开。应用程序设置模块用于在内置的键/值存储中存储字符串、布尔值和数字。在Android上使用
SharedReferences
,在iOS上使用NSUserDefaults
例如,您可以存储登录信息,并使用它检查用户是否已经登录(就像您在本机Android和iOS项目中所做的那样)NativeScript已经公开了登录信息。应用程序设置模块用于在内置的键/值存储中存储字符串、布尔值和数字。在Android上使用
SharedReferences
,在iOS上使用NSUserDefaults
例如,您可以存储登录信息并使用它检查用户是否已经登录(就像您在本机Android和iOS项目中所做的那样)您可以使用本地存储 你可能有
<TextField hint="{{ 'user_name' | L }}" autocorrect="false" required autocapitalizationType="none" [(ngModel)]="model.email"
#emailModel="ngModel" name="email" keyboardType="email"></TextField>
在ngOnInit()中,可以将其取回
localStorage.getString("username");
您可以使用本地存储 你可能有
<TextField hint="{{ 'user_name' | L }}" autocorrect="false" required autocapitalizationType="none" [(ngModel)]="model.email"
#emailModel="ngModel" name="email" keyboardType="email"></TextField>
在ngOnInit()中,可以将其取回
localStorage.getString("username");
正如建议的那样,您可以使用模块存储访问令牌,以便在用户返回时用于地下检查
首次登录成功后,从登录过程(或您选择的任何身份验证模式)获取JWT令牌,并将其存储以供以后重新身份验证,或者只需检查key/[value]是否已事先设置,也可用于简单的脱机登录。就像建议的那样,您可以使用模块来存储您的访问令牌,以便在用户稍后返回时用于地下检查
初始登录尝试成功后,从登录过程(或您选择的任何身份验证模式)获取JWT令牌,并将其存储以供以后重新身份验证,或者只需检查密钥是否为/[值]以前已设置,也可用于简单的脱机登录。请记住,写入
用户的任何键和值都默认为和共享引用,因此,应用程序设置模块和getString
和setString
方法使用的本机API只存储在磁盘上,供任何有权访问手机的人查看。此API不用于存储敏感数据,仅用于持久化用户设置,因此“默认值”和“首选项”
如果您想在设备上安全存储电子邮件地址和密码,请查看此库:。它的工作与前面提到的API非常相似,但所有内容都经过加密,因此人们不能只从磁盘读取内容。请记住,写入用户默认值和共享引用的任何密钥和值,因此,应用程序设置模块和getString
和setString
方法使用的本机API只存储在磁盘上,供任何有权访问手机的人查看。此API不用于存储敏感数据,仅用于持久化用户设置,因此“默认值”和“首选项”
如果您想在设备上安全存储电子邮件地址和密码,请查看此库:。它的工作与前面提到的API非常相似,但所有内容都经过加密,因此人们不能仅从磁盘读取内容。React-native和NativeScript是两个不同的框架,因此标记有点混淆(删除React标记,但如果您使用的是此框架而不是NativeScript,请随时更正我的错误)React-native和NativeScript是两个不同的框架,因此标记有点混乱(删除React标记,但如果您使用的是此框架而不是NativeScript,请随时更正我)。值得注意的是,这些首选项仅保存在磁盘上的一个文件中,因此仅用于以下目的:首选项和默认值。下面我的回答对此进行了扩展,并显示了一种在设备上使用加密存储的替代方案,用于电子邮件地址和密码等隐私敏感数据:)值得注意的是,这些首选项仅保存在磁盘上的一个文件中,因此仅用于以下用途:首选项和默认值。下面我的回答对此进行了扩展,并显示了一种在设备上使用加密存储的替代方案,用于电子邮件地址和密码等隐私敏感数据:)