我遇到麻烦,让电子,angular2和aws-amplify(Auth)工作。一切都在浏览器中工作,但当我尝试在电子中运行我的应用程序时,我得到:
ERROR ReferenceError:未定义Auth
我正在使用angular-cli并使用npm
安装了aws-amplify有没有人知道我是如何解决这个问题的?
答案 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);
}