OpenID на сайте

foma19

Новичок
Хочу сделать на сайте авторизацию через все возможные OpenID. контакт, фэйсбук, твиттер и т.д. Требуется сохранять id в базе, чтобы можно было так же профиль редактировать. Но как избежать конфликта id-шников? создавать поля id(общий id), vk_id, fb_id, twi_id или как?
 

Dovg

Продвинутый новичок
создавать поля id(общий id), vk_id, fb_id, twi_id или как?
Либо так, либо добавить external_id_type и хранить тип идентификатора в отдельной табличке.
 

zerkms

TDD infected
Команда форума
Аутентификация от фейсбука и твиттера не openid, а oauth.

Удобнее сделать вот так:
Одна таблица users, в ней ты хранишь пользовательские данные, никак не связанные с аутентификацией (id, login, timezone, ...)
И отдельно на каждый метод аутентификации по 1 табличке: auth_twitter, auth_facebook, auth_email
Для facebook структура будет примерно такой: fb_uid, user_id.
Для email: email, password, salt, user_id

Остальные аналогично.
 

foma19

Новичок
А как быть с такой проблемой? Пользователь вошел с аккаунта вконтакте и я его привязал к id на сайте. Позже его сессия закончилась или он нажал выход и вошел уже через twitter. получается что заведется новый пользователь. а как сделать чтобы не пришлось создавать нового пользователя в таблице, а привязывать все социальные сети к одному акаунту? как вообще народ делает?
 
Сверху