我正在尝试在 Rails 中编写一个简单的 OAuth 消费者应用程序。我正在使用 Authlogic 来处理身份验证,并使用 Authlogic OAuth 插件来做 oauth 事情。
oauth 插件提供了几个帮助器来呈现登录按钮:oauth_login_button 和 oauth_register_button。连同 Authlogic 逻辑和插件的请求过滤器,这两个按钮以某种方式创建了会话/用户。
接下来发生的情况如下: - 如果我使用 oauth_login_button 帮助程序,则会话对象无法保存,因为本地没有这样的用户。- 如果我使用 oauth_register_button 帮助器,那么,在第一次登录之后,Rails 会抱怨令牌已被占用......这意味着它无法为同一用户创建第二个副本,这是正确的。
问题是:我不想在我的网站上同时拥有注册和登录按钮。
在用户端,我想要实现的是开始页面上的单个按钮,说smth。比如“用 Twitter 登录”,用户必须点击它才能进入网站的内页。
在服务器端,如果用户是我网站的第一次访问者,我想隐式创建本地用户帐户。
关于如何做到这一点的任何提示?
我能找到的关于 Authlogic+OAuth 的所有示例似乎都不关心只有一个登录按钮。:(