2013-04-14 4 views
0

Я использую node.js + express.js стек, пользователи могут перезагружать/регистрироваться с помощью твиттера и facebook, а также зарегистрироваться в моей родной регистрационной форме. Я использую everyauth для обработки с Twee и Fb.Oauth логин и регистрация с пользовательским именем пользователя, express.js

Вопрос заключается в том: Есть ли простое решение для регистрации пользователей с услугами OAuth третьих лиц, позволяя им изменить это имя пользователя?

примера: логины пользователей на сайт с щебетом первым раза -> он получает образуется там, где он добавляет его CUSTOM USERNAME и адрес электронной почты.

В то время как он вступает в систему в следующий раз, мне нужно проверить db его CUSTOM USERNAME, а не его твиттер.

ответ

0

Да, это возможно. При первой попытке входа в систему вы аутентифицируете пользователя через твиттер, используя модуль node-oauth. Вот tutorial. После того, как процесс аутентификации завершен, твиттер отправляет уникальный идентификатор в свои результаты, вы храните его с помощью маркера oauth и секретного (если хотите) внутри своей БД. Также сохраните эти данные в сеансе и покажите форму, в которой вы попросите пользователя выбрать имя пользователя по его желанию. Используйте это и храните в БД.

В следующий раз, когда он снова пытается аутентифицироваться, вы просто проверяете уникальный идентификатор, хранящийся в вашей базе данных (а не имя пользователя).

+0

, так что мне нужно сохранить твиттер пользователя в Token в db, а? – Kosmetika

+0

да, вы можете, а затем обновить это каждый раз, когда пользователь пытается аутентифицироваться :) – Rishabh

+0

, но если сервис изменил токен -> при поиске с сохраненным токеном в db, пользователь будет интерпретироваться как новый – Kosmetika