Reactjs 使用电子邮件和react native中的必需属性电子邮件向谷歌注册
我制作了自定义身份验证,并尝试使用google provider实现身份验证。我得到一个错误: 登录失败错误:无效的\u请求 我使用像用户名和属性电子邮件一样的电子邮件。如何解决这个问题?我设置谷歌认证,aws更新认证与谷歌供应商Reactjs 使用电子邮件和react native中的必需属性电子邮件向谷歌注册,reactjs,react-native,aws-amplify,Reactjs,React Native,Aws Amplify,我制作了自定义身份验证,并尝试使用google provider实现身份验证。我得到一个错误: 登录失败错误:无效的\u请求 我使用像用户名和属性电子邮件一样的电子邮件。如何解决这个问题?我设置谷歌认证,aws更新认证与谷歌供应商 const AuthScreens = props => { switch (props.authState) { case 'signIn': return <SignIn {...props} />; case 'signUp': ret
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);
const authscreenses=props=>{
开关(props.authState){
案例“签名”:
返回;
“注册”案例:
返回;
案例“放弃密码”:
返回;
案例“确认注册”:
返回;
案例“更改密码”:
返回;
“签名”案例:
返回;
违约:
返回;
}
};
功能应用程序(道具){
const{googleSignIn}=props;
const[user,setUser]=useState(null);
useffect(()=>{
listen('auth',({payload:{event,data}}})=>{
开关(事件){
案例“签名”:
“cognitoHostedUI”案例:
getUser()。然后(userData=>setUser(userData));
打破
“注销”案例:
setUser(空);
打破
“签名失败”案例:
“cognitoHostedUI_失败”案例:
console.log(“登录失败”,数据);
打破
}
});
getUser()。然后(userData=>setUser(userData));
}, []);
函数getUser(){
返回Auth.currentAuthenticatedUser()
。然后(userData=>userData)
.catch(()=>console.log('未登录');
}
返回(
继续谷歌
);
}
使用OAuth(应用程序)导出默认值;