Я хочу иметь функцию "Зарегистрироваться через Facebook" для моего приложения php - PullRequest
0 голосов
/ 21 апреля 2020

Мы создаем приложение PHP MySQL, в котором у нас есть регистрационная форма для пользователей.

Мы хотим, чтобы функциональность "Зарегистрироваться через Facebook" также была доступна для регистрации.

Я гуглил по этому поводу, но я смог найти только код для функции входа в Facebook. Если бы кто-нибудь мог помочь мне найти точный ресурс, чтобы узнать о функции регистрации через Facebook, это было бы очень здорово.

Заранее спасибо.

1 Ответ

1 голос
/ 22 апреля 2020

Чтобы добавить ответ 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 следующие шаги, они регистрируются. Надеюсь, это поможет вам правильно начать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...