Подтвердить что ты не робот

Каким образом можно регистрировать пользователей с помощью Angular & Express?

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

Я использую модуль Facebook для паспортов, Express и Angular. Я считаю, что у меня есть паспорт, который был выполнен правильно, но не знаю, как я должен проверять, зарегистрирован ли пользователь, и 2) наилучшая практика для отображения представлений на основе состояния пользователя с использованием Angular и Express. Я рассмотрел пример здесь, но не думаю, что это то, что я должен делать, используя Angular (https://github.com/jaredhanson/passport-facebook)

Спасибо!

4b9b3361

Ответ 1

Чтобы выполнить ответ @wpalahnuk, вам нужно создать службу или factory для проверки подлинности и HTTPInterceptor для перехвата ответа, отправляемого сервером, для того, чтобы узнать, является ли пользователь журналом или нет (проверка кода 401).

Для части Express вам необходимо использовать классный паспорт node для проверки подлинности на стороне сервера.

У вас есть все подробности здесь: https://vickev.com/#!/article/authentication-in-single-page-applications-node-js-passportjs-angularjs

Эта статья действительно замечательная, Брэд Грин (технический директор Google for AngularJS) приветствует меня в этом сообщении.

Надеюсь, что это поможет.

Если вы хотите узнать больше о безопасности в Angular, вы должны просто спросить, и я буду очень рад помочь вам.

Ответ 2

Я не использую node.js и выражаю, а скорее защищаю для игры! но я предполагаю, что процесс схож.

Вам необходимо создать службу, которая свяжется с сервером для входа в систему, а затем сохранит эту переменную. Затем вы можете вводить эту услугу в каждый контроллер, который должен знать или изменять статус входа в систему.

В этом блоге я получил свою реализацию от: http://blog.brunoscopelliti.com/deal-with-users-authentication-in-an-angularjs-web-app

Здесь служба:

services.factory('UserService', [function() {
    var sdo = {
        isLogged: false,
        username: ''
    };
    return sdo;
}]);

Здесь приведен пример регистрации пользователя в контроллере

var User = UserService
scope.login = function() {
    var config = { /* ... */ } // configuration object

    $http(config)
    .success(function(data, status, headers, config) {
        if (data.status) {
            // succefull login
            User.isLogged = true;
            User.username = data.username;
        }
        else {
            User.isLogged = false;
            User.username = '';
        }
    })
    .error(function(data, status, headers, config) {
        User.isLogged = false;
        User.username = '';
    });
}

Я бы действительно рекомендовал вам прочитать статью в блоге, поскольку она охватывает это более подробно и там несколько других связанных статей

Затем вы можете использовать переменную User.isLogged, чтобы скрыть или отобразить различные элементы, а также использовать ее для определения доступных маршрутов.