Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 使用电子邮件和react native中的必需属性电子邮件向谷歌注册_Reactjs_React Native_Aws Amplify - Fatal编程技术网

Reactjs 使用电子邮件和react native中的必需属性电子邮件向谷歌注册

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

我制作了自定义身份验证,并尝试使用google provider实现身份验证。我得到一个错误: 登录失败错误:无效的\u请求 我使用像用户名和属性电子邮件一样的电子邮件。如何解决这个问题?我设置谷歌认证,aws更新认证与谷歌供应商

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(应用程序)导出默认值;