【问题标题】:How can I access local storage to get token from cognito?如何访问本地存储以从 cognito 获取令牌?
【发布时间】:2019-09-23 10:28:16
【问题描述】:

我正在使用 Nuxtjs 和 AWSCognito 来验证用户。我将令牌保存在本地存储中,但是,因为是 SSR 应用程序,所以在刷新页面时丢失了它们。刷新页面后如何保持用户身份验证?我应该使用 Cookie 吗?有人可以提供一个例子或解释吗?

 async LOGIN({
    commit
  }, {
    username,
    password
  }) {
    try {
      let email = await this.cognito.login(username, password);
      debugger;
      Cookie.set("api_token", email.idToken.jwtToken);
      localStorage.setItem("api_token", email.idToken.jwtToken);
      localStorage.setItem("user_token", email.accessToken.jwtToken);
      commit("SET_USER", email);
    } catch (error) {
      throw (new Error(error), {
        message: error.message
      });
    }
  },

【问题讨论】:

    标签: amazon-cognito server-side-rendering nuxt.js


    【解决方案1】:

    查看 AWS Amplify Auth,它使身份验证变得如此简单。请参阅此处AWS Amplify Auth

    【讨论】:

      【解决方案2】:

      使用AWS Javascript SDK。当您对用户进行身份验证时,SDK 会为您将令牌放入本地存储中,并处理它们的刷新。基本上,您不应该自己编写任何代码来处理令牌。只需使用 SDK 接口即可。

      【讨论】:

      • 我尝试过这样做,但是,我正在使用使用 Nuxt js 的静态网站。无法访问本地存储。
      • 我使用的是静态网站。如何获取 cookie 或执行其他操作来验证用户身份?
      猜你喜欢
      • 2020-11-20
      • 1970-01-01
      • 2017-11-15
      • 2018-12-02
      • 2020-09-03
      • 1970-01-01
      • 1970-01-01
      • 2015-11-21
      • 2021-01-05
      相关资源
      最近更新 更多