1

私は現在、アプリのデフォルトの認証方法であるCAS戦略にOmniAuthを使用しています。OmniAuth Identity戦略を通じて、user_nameとpasswordを使用した追加の認証方法を提供したいと思います。そのドキュメントを読んだところ、既存のモデルではなく別のモデルで使用することを意図しているとのことですが、既存の現在のモデルをポイントしようとすると壊れてしまうのではないかと思いました。

私がこのようにしたい理由は、私のアプリはユーザーがユーザーモデルに入力する登録フォームに入力することに依存しているためです。現在、CAS戦略では、ユーザーを認証し、データベースに既に存在する場合はサインインして、情報を入力するusers#newをユーザーに示します。

OmniAuth Identityを実装する場合、新しいユーザーは、最初にユーザー名とパスワードをフォームに入力して認証し、次にユーザーモデルフォームにリダイレクトする必要があります。私がユーザーだった場合、これは私を苛立たせます。一回限りのことですが、なるべく避けたいと思います。これらの2つのステップを何らかの方法で組み合わせる良い方法はありますか?

Deviseは現在のユーザーモデルにパスワード情報を保存していることは知っていますが、必要以上に機能が重いので、OmniAuthを使い続けたいと思います。

答えが明らかな場合は申し訳ありませんが、私はRailsを初めて使用します。

4

1 に答える 1

0

箱から出してOmniAuthIdentityを使用すると、すべての登録情報をIdentityモデルに収集し、omniauthを使用してそのすべての情報をsessions#createアクションに渡し、そこからユーザーモデルを構築します。

OmniAuth IDを使用して、登録情報をユーザーモデルに直接保存できますが、認証システムを使用するメリットはありません。

于 2012-11-02T20:45:48.643 に答える