【问题标题】:Electron Angular2 and aws-amplifyElectron Angular2 和 aws-amplify
【发布时间】:2018-03-08 16:55:24
【问题描述】:

我无法让 electron、angular2 和 aws-amplify (Auth) 正常工作。一切都在浏览器中运行,但是当我尝试在电子中运行我的应用程序时,我得到:

ERROR ReferenceError: Auth is not defined

我正在使用 angular-cli 并使用 npm 安装 aws-amplify

有人知道我是如何解决这个问题的吗?

【问题讨论】:

  • 我通过使用 Amplify.Auth.signIn 而不是 Auth.signIn 在浏览器和电子中都可以解决这个问题

标签: angular electron aws-amplify


【解决方案1】:

有两种方法可以获取 Auth 对象然后登录。

import Amplify from 'aws-amplify';

Amplify.Auth.signIn(...)

或者

import { Auth } from 'aws-amplify';

Auth.signIn(...)

【讨论】:

    【解决方案2】:

    我通过使用 Amplify.Auth.signIn 而不是 Auth.signIn 在浏览器和电子中都可以解决这个问题

    【讨论】:

      【解决方案3】:

      如果您将 Auth 放在异步函数中,您需要这样做:

      更改您的函数签名并添加身份验证输入,然后为该参数提供身份验证,然后在您的函数中使用身份验证:

      import { Auth } from "aws-amplify";
      
      await this.handleLoginCallback(
          this.auth2.currentUser.get().getBasicProfile(),
          this.auth2.currentUser.get().getAuthResponse(),
          Auth
      );
      
      public async handleLoginCallback(basicProfile, authResponse, auth): Promise<any> {
          const results  = await auth.federatedSignIn("google", { token: id_token, expires_at }, guser);
      }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-09-20
        • 2016-10-14
        • 2020-07-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-10
        • 2017-06-08
        • 2019-10-19
        相关资源
        最近更新 更多