2015-05-30 7 views
7

Я использую стек MeanJS для разработки веб-приложения. Проблема, с которой я сталкиваюсь, заключается в том, что мой обычный процесс регистрации имеет некоторые уникальные параметры, которые не являются общими для профиля пользователя Oauth. Итак, когда у меня есть пользователь, войдите в систему с помощью facebook, я переместил их в новую форму регистрации, в которой у них есть дополнительные параметры, а затем нажмите «зарегистрироваться в facebook».Как отправить и обработать параметры запроса с помощью запроса Oauth?

Трассы же, как найдены общие MeanJS маршруты здесь: https://github.com/meanjs/mean/blob/master/app/routes/users.server.routes.js

Конкретно эти строки:

app.route('/auth/facebook').get(passport.authenticate('facebook', { 
    scope: ['email'] 
})); 

app.route('/auth/facebook/callback').get(users.oauthCallback('facebook')); 

То, что я хотел бы сделать, это иметь дополнительные параметры, приложенные к заказу объект, так что, когда процесс auth достигнет exports.saveOAuthUserProfile внутри: https://github.com/meanjs/mean/blob/master/app/controllers/users/users.authentication.server.controller.js , эта функция сможет получить доступ к этим параметрам и сохранить их как часть пользовательской модели.

Я попытался прикрепление параметров запроса Получить и доступ к

req.params.paramId

, но это не будет работать, потому что вы не можете зарегистрировать пары загружены запроса с facebook API (или, по крайней мере, кажется, сюда).

И я прочитал в другом месте в StackOverflow, что вы можете загрузить состояние запроса, но это кажется мне очень странным. Вот ссылка на это: Facebook OAuth: custom callback_uri parameters

Итак, любое руководство по загрузке дополнительных данных в запрос Oauth, чтобы при сохранении профиля пользователя я мог получить к нему доступ и сохранить его, было бы здорово.

Спасибо, ребята.

ответ

2

Мне не совсем ясно, чего вы хотите достичь. Каковы «лишние» поля, и почему бы вам не вывести поля из профиля пользователя напрямую ?. Примерно на 98% реализованных в FB приложений я видел только кнопку «Войти с Facebook» и получать данные пользователя во время самого процесса OAuth, а не вручную вводить пользователь.

С passport-facebook, например, вполне возможно, что вы

а) Настройка пользовательских прицелы

б) Пополните объект профиля с данным настраиваемой области в

Объект profile будет содержать дополнительные запрашиваемые поля автоматически, и вам не нужно будет настраивать сам объект запроса.

+0

Целью является то, что пользователь указывает некоторые пользовательские данные, которые вообще не входят в систему профиля Facebook, но это данные, которые являются частью пользовательского объекта этой системы (и требование для регистрации). Итак, я хочу, чтобы пользователь мог вводить дополнительные данные при регистрации, даже с помощью Facebook. – Devnetics

+0

Объедините оба профиля FB и пользовательские значения в объекте сеанса. – Tobi