问题描述中提到,使用AWS Amplify的signIn方法返回了错误的用户名和密码,但federatedSignIn(Hosted UI)方法却可行。下面是一个可能的解决方法,包含代码示例:
解决方法:
代码示例:
import { Auth } from 'aws-amplify';
async function signIn() {
try {
const user = await Auth.signIn(username, password);
console.log('Successfully signed in!', user);
} catch (error) {
console.log('Error signing in:', error);
}
}
确保您在signIn方法中提供了正确的username和password。
import { Auth } from 'aws-amplify';
async function federatedSignIn() {
try {
const user = await Auth.federatedSignIn({ provider: 'Google' });
console.log('Successfully signed in!', user);
} catch (error) {
console.log('Error signing in:', error);
}
}
在这个示例中,我们使用了Google作为身份提供者。您可以根据您的设置选择适当的身份提供者。
请注意,使用federatedSignIn方法时,用户将被重定向到托管的用户界面(Hosted UI)进行身份验证。如果您的用户已经在该界面上进行了身份验证,并且您提供了正确的身份提供者,用户将被成功地身份验证并返回给您的应用程序。
希望这个解决方法对您有帮助!如果问题仍然存在,请提供更多的详细信息,以便我们能够更好地帮助您解决问题。