Electron Angular2 和 aws-amplify

Electron Angular2 and aws-amplify

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

错误引用错误:未定义授权

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

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

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

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

import Amplify from 'aws-amplify';

Amplify.Auth.signIn(...)

或者

import { Auth } from 'aws-amplify';

Auth.signIn(...)

如果您碰巧将 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);
}