Rails で単純な OAuth コンシューマー アプリを作成しようとしています。認証の処理には Authlogic を使用し、oauth の処理には Authlogic OAuth プラグインを使用しています。
oauth プラグインは、サインイン ボタンをレンダリングするためのいくつかのヘルパーを提供します: oauth_login_button と oauth_register_button。Authlogic ロジックとプラグインのリクエスト フィルタを組み合わせて、これら 2 つのボタンが何らかの方法でセッション/ユーザーを作成します。
次に起こることは次のとおりです: - oauth_login_button ヘルパーを使用すると、そのようなユーザーがローカルに存在しないため、セッション オブジェクトの保存に失敗します。- oauth_register_button ヘルパーを使用すると、最初のログイン後のログイン時に、Rails はトークンが既に取得されていると不平を言います...つまり、同じユーザーに対して 2 番目のコピーを作成できないということです。これは正しいことです。
問題は、自分のサイトに登録ボタンとログイン ボタンの両方を配置したくないということです。
ユーザー側で実現したいのは、スタート ページに smth と表示される 1 つのボタンです。「Twitter でサインイン」のように、ユーザーはサイトの内部ページに進むためにクリックする必要があります。
サーバー側では、ユーザーが初めてサイトにアクセスした場合に、暗黙的にローカル ユーザー アカウントを作成したいと考えています。
これを行う方法に関するヒントはありますか?
私が見つけた Authlogic+OAuth のすべてのサンプルは、サインイン用のボタンが 1 つしかないことを気にしていないようです。:(