reactjs - 在 react native 中使用电子邮件和必需的属性电子邮件向 google 注册
问题描述
我进行自定义身份验证并尝试使用谷歌提供商实现身份验证。我收到一个错误:登录失败错误:invalid_request 我使用电子邮件,如用户名和属性电子邮件是必需的。如何解决这个问题?我设置了 google 凭据,使用 google 提供商进行了 aws update auth。
const AuthScreens = props => {
switch (props.authState) {
case 'signIn':
return <SignIn {...props} />;
case 'signUp':
return <SignUp {...props} />;
case 'forgotPassword':
return <ForgotPassword {...props} />;
case 'confirmSignUp':
return <ConfirmSigup {...props} />;
case 'changePassword':
return <ChangePassword {...props} />;
case 'signedIn':
return <HomeScreen />;
default:
return <></>;
}
};
function App(props) {
const {googleSignIn} = props;
const [user, setUser] = useState(null);
useEffect(() => {
Hub.listen('auth', ({payload: {event, data}}) => {
switch (event) {
case 'signIn':
case 'cognitoHostedUI':
getUser().then(userData => setUser(userData));
break;
case 'signOut':
setUser(null);
break;
case 'signIn_failure':
case 'cognitoHostedUI_failure':
console.log('Sign in failure', data);
break;
}
});
getUser().then(userData => setUser(userData));
}, []);
function getUser() {
return Auth.currentAuthenticatedUser()
.then(userData => userData)
.catch(() => console.log('Not signed in'));
}
return (
<SafeAreaView style={styles.container}>
<Authenticator
usernameAttributes="email"
hideDefault={true}
authState="signUp">
<AuthScreens />
</Authenticator>
<TouchableOpacity onPress={googleSignIn}>
<Text>Continue with Google</Text>
</TouchableOpacity>
</SafeAreaView>
);
}
export default withOAuth(App);
解决方案
推荐阅读
- spring5 - ValangValidator 与 spring 5 的替代类
- oop - 从两个不同的类有条件地调用方法
- django - 使用 django 在线 Redis 后端
- r - 使用 tidyverse 从一个分组数据集中动态变异另一个数据集中的一个变量
- java - 如何返回列表 DTO 包含春季查询的其他 DTO 列表?
- php - 无法使用 REGEX 获取 PHP 脚本名称
- git - 将合并冲突修复提交到带有更改的分支
- macos - Docker - UDP 广播在 MacOS 下不起作用
- android - 与 CollapsingToolbarLayout 一起使用时,Recycler View 不会过度滚动
- azure - 如何将 Azure Powershell 模块添加到 Visual Code Intellisense