Facebook, OpenID и OAuth путаница - PullRequest
2 голосов
/ 08 марта 2011

пользователи на моем сайте могут войти в систему со своим именем пользователя и паролем или через OpenID (в первый раз, когда они делают это, они аутентифицируют их, а затем регистрируют их на сайте). Затем я могу использовать OAuth для подключения учетной записи пользователя к Facebook / Twitter, чтобы получить их токен доступа.

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

Надеюсь, я достаточно ясно объяснил свои намерения. Я, наверное, просто немного запутался.

1 Ответ

2 голосов
/ 09 мая 2011

Правильно, Facebook не является поставщиком OpenID, они используют OAuth, как вы говорите.

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

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

Когда пользователь возвращается, вы можете проверить, вошли ли они на Facebook, и автоматически аутентифицировать его, поскольку они разрешили ваше приложение.

Если вам нужна дополнительная информация, пожалуйста, прокомментируйте, и я постараюсь помочь:)

...