我收到此错误
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,因为我看到一件事说这是版本问题。
我为那些和我有同样问题的人发布这个解决方案。对我来说这是一个简单的修复。我需要在
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,
}
}
}
});
}
}
这是一个非常简单的修复,事后看来,我不应该花这么长时间才能弄清楚。 如果有人遇到同样的问题并且这不起作用,请随时在这里发表评论!