Как получить адреса электронной почты пользователей, используя Janrain basic
Я пытаюсь получить адреса электронной почты пользователей при входе в систему, чтобы их можно было ввести в мою базу данных и получить уникальный идентификатор. Мне удалось получить отображаемые имена пользователей и сохранить их в базе данных, используя этот код, однако он не работает с адресом электронной почты.
session_start();
if(property_exists($profile->profile,'displayName')){
$_SESSION['username'] = $profile->profile->displayName;
$_SESSION['email'] = $profile->profile->email;
$_SESSION['logged']="logged";
$username = $_SESSION['username'];
$email = $_SESSION['email'];
require_once("db_connect.php");
$query="SELECT email FROM users WHERE email = '$email'";
mysqli_select_db($db_server, $db_database);
$result=mysqli_query($db_server, $query);
if($result != $email){
$query = "INSERT INTO users (username, email) VALUES ('$username', '$email')";
mysqli_query($db_server, $query) or
die("Insert failed. ". mysqli_error($db_server));
}else{
echo "Login error.";
}
mysqli_free_result($result);
require_once("db_close.php");
header('location:home.php');
}else{
$_SESSION['username'] = '(Anonymous)';
$_SESSION['logged']="logged";
header('location:home.php');
}
Спасибо за вашу помощь.
1 ответ
Решение
Похоже, это связано с тем, какую информацию поставщики предоставляют по умолчанию. Я считаю, что эти шаги должны исправить это:
- Войдите на https://dashboard.janrain.com/
- Выберите приложение Engage
- В поле "Поставщики" наведите курсор на тот, с которым вы пытаетесь пройти аутентификацию.
- Нажмите на маленький значок гаечного ключа, который появляется после того, как вы наведете курсор на провайдера.
- Убедитесь, что флажок "Спросить" установлен рядом с "электронной почтой"
Дайте мне знать, если это сработает для вас!