В моем родном приложении я хочу войти в свое приложение, используя Facebook. Я использую WordPress в качестве моего приложения.
С помощью следующего кода я могу получить toekn
после успешного входа в систему через Facebook SDK . Я также могу получить Facebook username, id
другим API-вызовом на Facebook Graph API, но все еще не могу получить пользователя email
.
Чтобы взаимодействовать с моим бэкэндом WordPress, каким должен быть подход? Должен ли я хранить электронную почту (я еще не получил) и другую информацию о пользователе в таблице wp_users
?
Как я могу проверить токен?
Мой пример кода:
import React, { Component } from "react";
import { View } from "react-native";
import { LoginButton, AccessToken } from "react-native-fbsdk";
class FBLoginButton extends Component {
initUser(token) {
fetch(
"https://graph.facebook.com/v2.5/me?fields=email,name,friends&access_token=" +
token
)
.then(response => response.json())
.then(json => {
console.log(json); //found only id, name
})
.catch(() => {
reject("ERROR GETTING DATA FROM FACEBOOK");
});
}
render() {
return (
<View>
<LoginButton
publishPermissions={["email"]}
onLoginFinished={(error, result) => {
if (error) {
alert("Login failed with error: " + error.message);
} else if (result.isCancelled) {
alert("Login was cancelled");
} else {
alert(
"Login was successful with permissions: " +
result.grantedPermissions
);
AccessToken.getCurrentAccessToken().then(data => {
const { accessToken } = data;
initUser(accessToken);
});
}
}}
onLogoutFinished={() => alert("User logged out")}
/>
</View>
);
}
}
export default FBLoginButton;