【发布时间】:2021-10-03 05:30:22
【问题描述】:
我有这个身份验证问题
注册工作完美,服务器获取注册数据:用户密码电子邮件和号码。这一步之后,我就有了OTP验证
我得到了 pin 码并运行了验证突变。 在验证时,我得到了错误:
您未通过身份验证
所有进程都停止了,因为我没有通过验证
这里是 react-native 部分的代码
const VERIFY = gql
mutation($token: String!, $kind: TokenKind!) {
verify(token: $token, kind: $kind)
}
const VerificationScreen: React.FC < any > = (props) => {
const token = (props as any).route.params.token;
const [loading, setLoading] = React.useState < boolean > (false)
const [pin, setPin] = useState < string > ('')
const [veryfy] = useMutation(VERIFY)
const verifyPin = () => {
if (!pin) {
alert('Please TYPE Valid PIN')
return;
}
//veryfy
setLoading(true);
veryfy({
variables: {
token: pin,
kind: 'PHONE'
}
}).then(({
data
}) => {
setLoading(false)
console.log(data);
if (data) {
props.navigation.navigate('Intro', {
token: token
});
}
}).catch((e) => {
setLoading(false)
console.log(e);
})
}
【问题讨论】:
-
查看注册时服务器的响应,以检查您是否获得了某种会话令牌。如果为 true,那么您可能需要向 apollo 客户端添加身份验证标头
-
你好@NigelSavage,是的,我有会话令牌。如何添加 auth 标头?
标签: react-native apollo apollo-client react-apollo apollo-server