Я пытаюсь написать простое потребительское приложение OAuth на Rails. Я использую Authlogic для обработки аутентификации и плагин Authlogic OAuth для выполнения функции oauth.
Плагин oauth предоставляет несколько помощников для отображения кнопки входа: oauth_login_button и oauth_register_button. Вместе с логикой Authlogic и фильтрами запросов плагина эти две кнопки каким-то образом создают сеанс / пользователя.
Далее происходит следующее: - если я использую помощник oauth_login_button, то объект сеанса не может быть сохранен, поскольку такого пользователя нет локально. - если я использую помощник oauth_register_button, то при любом входе в систему после первого Rails жалуется, что токен уже занят ... это означает, что он не может создать вторую копию для того же пользователя, что правильно.
Проблема в том, что я не хочу, чтобы на моем сайте были ОБЕ кнопки «Регистрация» и «Вход».
Что касается пользователя, то я хочу достичь единственной кнопки на стартовой странице, говорящей что-л. например, «Войти через Twitter», который пользователь должен щелкнуть, чтобы перейти на внутренние страницы сайта.
На стороне сервера я хочу неявно создать локальную учетную запись пользователя, если пользователь впервые посещает мой сайт.
Есть подсказки, как это сделать?
Все образцы Authlogic + OAuth, которые мне удалось найти, похоже, не заботятся о наличии только одной кнопки для входа. :(