小编Vic*_*ain的帖子

如何在Ionic 3中有效地存储和使用身份验证

我目前正在开发适用于iOS/Android 的Ionic(3.4)应用程序.我不熟悉身份验证过程或应用程序.

在提供程序中使用HTTP请求后,我得到了我的对象,即用户.但我完全不知道如何存储它或处理它.有什么好的做法:

  • 我想只是将对象存储在提供程序中并在我拥有的每个页面中调用它?
  • 我想将它作为应用程序中的一种全局对象存储?
  • 或者我想(如下)将它作为导航变量从一个页面转移到另一个页面?(我猜这不是正确的答案)

最后,应用程序将如何对重新加载/重新启动做出反应:如何避免人们一次又一次填写表单?

这是我的服务:

@Injectable()
export class UserProvider {
    data = {};
    username: string;
    password: string;

    constructor(private _http: Http) {
        console.log('Hello UserProvider Provider');
    }

    getUser(username:string, password:string){

        let urlSearchParams = new URLSearchParams();
        urlSearchParams.append('username', username);
        urlSearchParams.append('password', password);
        let params = urlSearchParams.toString()

        var headers = new Headers();
        headers.append('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');

        return this._http
        .post("http://api.minesdedouai.fr/user/login", params, {headers:headers} )
        .map(response => response.json())

    }

}
Run Code Online (Sandbox Code Playgroud)

我知道登录请求应该使用一些令牌,但正如我所说,这是一个小学生的API,我们不是专业的,而且它正在工作.

这是在组件(页面)中的某个地方使用服务的方法.

onLogin(form: NgForm) {
  if (form.valid) {
    this._userProvider.getUser(this.login.username, this.login.password)
    .subscribe((response) => {
      this.user …
Run Code Online (Sandbox Code Playgroud)

authentication login typescript ionic3 angular

6
推荐指数
2
解决办法
6033
查看次数

标签 统计

angular ×1

authentication ×1

ionic3 ×1

login ×1

typescript ×1