如何在商店中保存登录信息?

时间:2019-06-27 15:17:25

标签: angular authentication

我通过简单的身份验证创建了一个应用

login(credentials) {
    this.callLogin(credentials)
        .pipe(
            concat(
                this.principal().pipe(
                    map((user) => {
                        this.user = user;
                    })
                )
            )
        ).subscribe(() => {
            this.onLoginStateChanged.next(LoginState.LOGGED_IN);
            this.router.navigateByUrl("/");
        })
}

这是登录功能调用的我的auth.service.ts。

如何保存“用户”中包含的信息,以便可以在应用程序中重复使用它们?

我需要使用ngrx /存储其他内容吗?

1 个答案:

答案 0 :(得分:0)

您可以使用jwt(json网络令牌)将登录验证存储在cookie或其他文件中。
通常,过程类似于:

  1. 在注册/登录时为客户端生成一个jwt。将其存储在客户端的计算机中。

  2. 对于每个请求,将jwt发送到服务器进行身份验证,并仅在有效时发送响应。

您可以根据需要使用持久性或基于到期的jwt。

编辑:您可以使用JWT存储您希望在客户端保持完整的任何数据。假设您想存储用户的常用信息(例如姓名,姓氏),并且不希望它能够被用户修改。 JWT验证将证明数据是原始且无法识别的。