我无法让 electron、angular2 和 aws-amplify (Auth) 工作。一切都在浏览器中运行,但是当我尝试在电子中运行我的应用程序时,我得到:
错误参考错误:未定义身份验证
我正在使用 angular-cli 并使用 npm 安装 aws-amplify
有谁知道我如何解决这个问题?
我无法让 electron、angular2 和 aws-amplify (Auth) 工作。一切都在浏览器中运行,但是当我尝试在电子中运行我的应用程序时,我得到:
错误参考错误:未定义身份验证
我正在使用 angular-cli 并使用 npm 安装 aws-amplify
有谁知道我如何解决这个问题?
有两种方法可以获取 Auth 对象然后登录。
import Amplify from 'aws-amplify';
Amplify.Auth.signIn(...)
或者
import { Auth } from 'aws-amplify';
Auth.signIn(...)
我通过使用 Amplify.Auth.signIn 而不是 Auth.signIn 在浏览器和电子中都可以解决它
如果碰巧将 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);
}