Я использую Graph.cool API вместе с React и Apollo. Я строил систему аутентификации, используя интеграцию прохода электронной почты по умолчанию с graph.cools. Каким-то образом мутация входа в систему работает безупречно, но мутация регистра не работает.
Примечание. Функции входа в систему и регистрации мутаций находятся на одной странице. Вход в рабочий регистр отсутствует.
Регистрация функции:
async register(){
await client.mutate({
mutation: gql`
mutation createUser($email: String!, $password: String!){
createUser(
authProvider : {
email: {
email: $email,
password: $password
}
}
) {
id
}
}
`,
variables: {
email: this.state.regEmail,
password: this.state.regPass
},
})
.then(result => { this.props.history.push({
pathname: '/dashboard',
state: { logInfo: [result.data.signinUser.token,
result.data.signinUser.user.id] }
});
})
.catch(error => { console.log(error)});
}
Функция входа в систему:
async login(){
await client.mutate({
mutation: gql`
mutation signinUser($email: String!, $password: String!){
signinUser(
email: { email: $email, password: $password }
) {
token
user {
id
email
name
phone
prescriptions {
docname
docid
details
med
}
}
}
}
`,
variables: {
email: this.state.loginEmail,
password: this.state.loginPass
},
})
.then(result => { this.props.history.push({
pathname: '/dashboard',
state: { logInfo: [result.data.signinUser.token,
result.data.signinUser.user.id] }
});
})
.catch(error => { alert("Incorrect username or password") });
}