AuthUserPoolException:未配置身份验证用户池

问题描述 投票:0回答:1

我收到此错误

AuthUserPoolException: Auth UserPool not configured. ... underlyingError: undefined, recoverySuggestion: 'Make sure to call Amplify.configure in your app with userPoolId and userPoolClientId.', constructor: [class _AmplifyError extends Error]
每当我启动我的角度项目的本地主机时。 这是我的 main.ts,我在其中调用放大配置

import { bootstrapApplication } from '@angular/platform-browser';
import { appConfig } from './app/app.config';
import { AppComponent } from './app/app.component';
import cdkOutput from '../../../ForumWebCDK/output.json';
import { Amplify } from 'aws-amplify';

bootstrapApplication(AppComponent, appConfig)
  .catch((err) => console.error("ERROR:" , err));

    Amplify.configure({
      Auth: {
        Cognito: {
          userPoolId: cdkOutput.CognitoStack.PoolId,
          userPoolClientId: cdkOutput.CognitoStack.ClientId,
          signUpVerificationMethod: 'code',
        }
      }
    }); 

    const currentConfig = Amplify.getConfig();

我不知道为什么会抛出错误,因为这是我使用 amplify 的第二个项目,并且我在另一个项目中也有相同的配置,并且没有显示错误。 两个用户池之间的区别在于,这个用户池在电子邮件和密码之上还有一个用户名,而不会引发错误的用户池只有电子邮件和用户名。 我还检查了两者之间的放大版本,当它们都匹配时我仍然遇到相同的错误。 这是完整的 Angular 前端的 github 存储库:https://github.com/zachpfaltzgraff/ForumWebsite 我仍然能够登录该网站,一切都按预期运行,只是不知道为什么会显示此错误 如果您能提供帮助,请先致谢!

我尝试安装旧版本的 amplify,因为我看到一件事说这是版本问题。

angular typescript aws-amplify
1个回答
0
投票

我为那些和我有同样问题的人发布这个解决方案。对我来说这是一个简单的修复。我需要在

app.component.ts
而不是
main.ts
中配置放大 我不确定为什么这从我之前的项目变成了这个,因为我使用了相同版本的所有内容。 对于那些想知道的人来说,这就是我的固定代码的样子

import { Component } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterOutlet } from '@angular/router';
import { HeaderBarComponent } from './header-bar/header-bar.component';
import { HttpClientModule } from '@angular/common/http';

import { Amplify } from 'aws-amplify';
import cdkOutput from '../../../../ForumWebCDK/output.json';

@Component({
  selector: 'app-root',
  standalone: true,
  imports: [CommonModule, 
        RouterOutlet, 
        HeaderBarComponent, 
        HttpClientModule],
  templateUrl: './app.component.html',
  styleUrl: './app.component.css'
})
export class AppComponent {
  title = 'Forum-Web';

  constructor() {
    Amplify.configure({
      Auth: {
        Cognito: {
          userPoolId: cdkOutput.CognitoStack.PoolId,
          userPoolClientId: cdkOutput.CognitoStack.ClientId,
          signUpVerificationMethod: 'code',
          loginWith: {
            username: true,
            email: true,
          }
        }
      }
    });
  }
}

这是一个非常简单的修复,事后看来,我不应该花这么长时间才能弄清楚。 如果有人遇到同样的问题并且这不起作用,请随时在这里发表评论!

© www.soinside.com 2019 - 2024. All rights reserved.