лучший способ хранения oauth И локальной аутентификации методы?

Если бы мне пришлось запустить службу, которая позволяла пользователям аутентифицироваться с помощью "локальных" комбинаций имени пользователя и пароля, а ТАКЖЕ любое количество служб OAuth - как могла бы выглядеть эта модель данных пользователя?

Обычно , если бы я обрабатывал все входы в систему сам, в базе данных «пользователей» (при условии, что MySQL) поля имени пользователя и пароля были бы обязательны как ненулевые. Но если бы мои пользователи просто хотели войти в систему с помощью Facebook, я бы просто сохранил автоматический токен Facebook и не имел локального имени пользователя / пароля.

Кроме того, что, если они захотят войти в систему с отзывами в Твиттере, а затем с tumblr, а затем с какой-нибудь службой дня? Я мог бы сохранить поле для каждого типа, но это может оказаться немного громоздким. Не лучше ли мне сохранить другую таблицу «методов аутентификации» из-за отсутствия лучшего термина, чтобы у меня были отношения «один ко многим» между пользователями и способы их аутентификации?

В основном,Я спрашиваю, знает ли кто-нибудь о лучших отраслевых стандартах для этого сценария или может указать мне правильное направление (или если кто-то реализовал что-то подобное, что им хорошо подходит). Один пользователь, несколько методов аутентификации - как лучше всего хранить эту информацию?

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

19
задан Hoopes 23 June 2011 в 18:15
поделиться