如何在React Native上的Axios上使用JWT令牌

时间:2019-10-14 18:35:59

标签: node.js rest react-native authentication

我使用node.js做一个REST api并表示,我开始尝试建立用户身份验证,所以我使用了JWT。现在,我正在尝试构建一个React Native应用程序,但始终收到错误401访问被拒绝。这是我收到JWT令牌的地方:

...
import api from '../services/api';

export default function Login({ navigation }) {

const [email, setEmail] = useState('');
const [password, setPassword] = useState('');

useEffect(() => {
    AsyncStorage.getItem('authToken').then(authToken => {
        if (authToken) {
            navigation.navigate('Dashboard');
        }
    });
}, []);

async function handleSubmit() {
    try {
        const response = await api.post('/login', {
            email,
            password
        });


        const authToken = response.data;

        await AsyncStorage.setItem('authToken', response.data);

        if (authToken) navigation.navigate('Dashboard');
    } catch (err) {

    }

}
...

这是我需要身份验证的地方,但是我似乎找不到如何发送authToken并从api获取响应的方法。

...
import api from '../services/api';

export default function List({ navigation }) {

useEffect(() => {
    AsyncStorage.getItem('authToken').then(authToken => {
        if (!authToken) {
            navigation.navigate('Login');
        }
    });
}, []);

async function handleSubmit() {
    const response = await api.post('/tasks', {
        "description": "Finish this shit",
        "priority": 3,
        "completed": false
    });

    console.log(response.data);
}
...

0 个答案:

没有答案