Чтобы добавить ответ CBroe, Facebook имеет только логин, однако вы можете использовать кнопку «продолжить с» в качестве кнопки «регистрации» psuedo. Вот где найти / настроить кнопку продолжения с помощью кнопки: https://developers.facebook.com/docs/facebook-login/web/login-button/ https://developers.facebook.com/docs/facebook-login/web
Получив нужные вам переменные из Facebook, получите нужные переменные зарегистрировать пользователя в вашей системе. Вот что я делаю, чтобы бороться с той же проблемой. У меня есть функция с именем getUserInfo () ниже:
function getUserInfo() {
// Get what you need from FB's graphQL API
FB.api('/me?fields=id,email,first_name,last_name', function (response, global) {
// Set variables based on results of '/me' Graphql call
let fbuserid = response.id;
let fbuserfname = response.first_name;
let fbuserlname = response.last_name;
let fbuseremail = response.email;
// I am defining variables for my site's registration form fields
let fname = document.getElementById('fname');
let lname = document.getElementById('lname');
let email = document.getElementById('email');
// Set input values in your form from the facebook results
fname.value = fbuserfname;
lname.value = fbuserlname;
email.value = fbuseremail;
// I make up a password but you don't have to
var md = forge.md.sha256.create();
md.update(fbuserid + fbuseremail + randomString());
document.getElementById('pwrd').value = md.digest().toHex();
// My form has steps so I auto-progress users to the next step since the Javascript filled in the form already. Completely optional
document.getElementById("nextbutton").click();
});
}
Я вызываю функцию getUserInfo () в кнопке FB после события входа в систему следующим образом:
<div id="fbregister" data-size="medium" data-button-type="continue_with" data-layout="default" data-auto-logout-link="false" data-use-continue-as="false" data-scope="email" data-onlogin="getUserInfo()"></div>
Что происходит в целом, так это , пользователи нажимают, продолжают с Facebook, они входят в систему, вызывается функция, поля устанавливаются через JS и пользователи переходят к следующему шагу. Как только они завершают sh следующие шаги, они регистрируются. Надеюсь, это поможет вам правильно начать.