电子Angular2和aws放大

时间:2018-03-08 16:55:24

标签: angular electron aws-amplify

我遇到麻烦,让电子,angular2和aws-amplify(Auth)工作。一切都在浏览器中工作,但当我尝试在电子中运行我的应用程序时,我得到:

ERROR ReferenceError:未定义Auth

我正在使用angular-cli并使用npm

安装了aws-amplify

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

3 个答案:

答案 0 :(得分:1)

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

import Amplify from 'aws-amplify';

Amplify.Auth.signIn(...)

或者

import { Auth } from 'aws-amplify';

Auth.signIn(...)

答案 1 :(得分:0)

我通过使用Amplify.Auth.signIn而不是Auth.signIn解决了它在浏览器和电子中的作用

答案 2 :(得分:0)

如果您将Auth放在异步函数中,则需要执行以下操作:

更改函数签名并添加auth输入,然后为该参数提供Auth,然后在函数中使用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);
}