如何使用react native检查WordPress中现有用户的用户名和密码/
我正在为WordPress网站编写一个移动应用程序。 我想用WPAPI和JSON基本身份验证插件检查用户名和密码。 到目前为止,我已尝试过此代码:如何使用react native检查WordPress中现有用户的用户名和密码/,wordpress,react-native,authentication,Wordpress,React Native,Authentication,我正在为WordPress网站编写一个移动应用程序。 我想用WPAPI和JSON基本身份验证插件检查用户名和密码。 到目前为止,我已尝试过此代码: const wp = new WPAPI({ endpoint: 'https://example.com/wp-json', username: this.state.username, password: this.state.password }); console.log(wp.users().me());
const wp = new WPAPI({
endpoint: 'https://example.com/wp-json',
username: this.state.username,
password: this.state.password
});
console.log(wp.users().me());
它回来了
_选项:{auth:true,…}
无论用户名和密码值是什么。可能会显示WPAPI的react本机实现 : 例如,wp.users().me()将自动启用身份验证以允许访问/users/me端点 听起来更像是一个API调用,它设置了一个标志,而不是返回您的用户配置文件(我猜您希望得到您的用户配置文件?!) 也许可以尝试请求一个页面(如示例中所述(请参阅:):
wp.pages().slug('about')
可能会显示WPAPI的react本机实现
:
例如,wp.users().me()将自动启用身份验证以允许访问/users/me端点
听起来更像是一个API调用,它设置了一个标志,而不是返回您的用户配置文件(我猜您希望得到您的用户配置文件?!)
也许可以尝试请求一个页面(如示例中所述(请参阅:):
wp.pages().slug('about')
我终于解决了这个问题:
validate() {
let username = this.state.username;
let password = this.state.password;
let userPassCombination = username + ':' + password;
let encodedPass = base64.encode(userPassCombination);
let headers = {
'Content-Type': 'text/json',
Authorization: 'Basic ' + encodedPass,
};
fetch(myConstants.URL + '/wp-json/', {
method: 'GET',
headers: headers,
}).then(responseData => {
//console.log(JSON.stringify(responseData));
if (responseData.ok) {
this.props.navigation.navigate('Profile', {
username: this.state.username,
});
}
else {
alert('wrong information.');
}
});
}
}我终于解决了这个问题:
validate() {
let username = this.state.username;
let password = this.state.password;
let userPassCombination = username + ':' + password;
let encodedPass = base64.encode(userPassCombination);
let headers = {
'Content-Type': 'text/json',
Authorization: 'Basic ' + encodedPass,
};
fetch(myConstants.URL + '/wp-json/', {
method: 'GET',
headers: headers,
}).then(responseData => {
//console.log(JSON.stringify(responseData));
if (responseData.ok) {
this.props.navigation.navigate('Profile', {
username: this.state.username,
});
}
else {
alert('wrong information.');
}
});
}
}它不起作用。我仍然得到了{u选项:{auth:true,…},不管用户名和密码是什么。我还尝试过使用fetch:fetch('',{headers:newheaders({Authorization:
Basic${base64.encode(
${this.state.username}:${this.state.password}}})},}),然后(response=>{if})(!response.ok)alert('Error');console.log(JSON.stringify(response));});但它不起作用。它不起作用。我仍然得到_选项:{auth:true,…},不管用户名和密码是什么。我还尝试过使用fetch:fetch('',{headers:newheaders({Authorization:Basic${base64.encode(
${this.state.username}:${this.state.password}`)}`,}),然后(response=>{if(!response.ok)alert('Error');console.log(JSON.stringify(response));});但它不起作用。