我是新来的本地人,我需要一些帮助。
我正在使用本机编写一个Android应用程序。
我已经实现了登录屏幕以及登录过程成功完成时应显示的所有屏幕。
我不知道要向我的localhost网站发送带有bearer auth的http请求。请求方法是GET。在我的应用程序中,我必须输入用户名和密码,并将其发送到https:/ localhost /.../登录。
到目前为止这是有效的:我从loginscreen的TextInput获取了倾斜的用户和密码,并将它们发送到我的名为httpRequest的函数。
function httpRequest(name, password) {
var httpResponse = null;
// not implemented yet
}
我不知道如何开始...我应该从一个fetch-get mehtod开始,我可以在react-native docs上找到它?但是我应该如何使用持票人令牌(auth)
答案 0 :(得分:0)
这是新手在处理身份验证时遇到的常见问题。
我建议你好好阅读https://auth0.com/blog/adding-authentication-to-react-native-using-jwt/
你需要一些先进的知识来实现它,但无论如何你都会学习它。
答案 1 :(得分:0)
您必须使用 POST 请求而不是 GET 将您的用户名和密码发送到您的后端。因此,您可以将名称和密码数据附加到请求正文。此外,您还希望使用fetch发出请求。
你可以这样做:
function httpRequest(name, password) {
const user = {
name,
password,
};
fetch('https://mywebsite.com/endpoint/', {
method: 'post',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify(user)
})
.then(res => res.json())
.then(data => {
console.log(data);
// data should contain a JWT token from your backend
// which you can save in localStorage or a cookie
})
.catch(err => console.log(err));
}
另外,请查看我对这个问题的答案,该问题是关于轻松生成标题的fetch helper函数。它包含一个部分,可以轻松地为您的请求添加JWT令牌。