質問

自分のWebサイトでopenid認証を有効にし、最新のauthlogic_openidアドオンの auto_register 機能を使用しようとしています。

2回目のログインまではすべて正常に機能します。初めてユーザーが作成されてログインしますが、ログアウトして同じOpenID識別子でシステムにログインしようとすると、ユーザー名と他のフィールドが既に取得されており、フォームに以前の値が事前に入力されているというエラーのあるユーザー登録フォームが表示されますopenidで渡されたデータ。

新しいauto_register呼び出しを使用したユーザーセッションモデルを除き、すべてがauthlogic / authlogic openidチュートリアルによって実装されます。

class UserSession < Authlogic::Session::Base
  auto_register
end 

ご協力ありがとうございます!

役に立ちましたか?

解決

ユーザーを2回登録しているようです。 OpenIDプラグインは、ユーザーが登録されているかどうかを知りません。 auto_register がtrueの場合、毎回SREGを実行します。 openid_identifierでユーザーを検索し、新しいユーザーの場合は auto_register(true)を送信するたびに auto_register を呼び出すのではなく、

他のヒント

http://github.com/gaizka/authlogic_openid

が見つかりました

Authlogic Open ID拡張機能の彼のバージョンはauto_register機能で動作するようです...しかし、SREGから電子メールを正しくキャプチャすることはできません(通常の登録で動作します)。

ここで動作するデモがあります:

http://big-glow-mama.heroku.com/

http://github.com/holden/authlogic_openid_selector_example/tree/with- facebook /

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top