2010-12-14 8 views
0

今、私はRails認証フレームワークを使用して、私のレールアプリケーションでの認証に使用しています。これはすべてうまくいいですが(私の理解では、少し古いと思いますが)、httpセッションを持たないかもしれないユーザーを認証する必要があります(ブラウザではなくアプリケーションから) )。ブラウザのセッションを保証しないRailsの認証と承認?

具体的には、iPhoneアプリケーションをサポートする必要があります。これは、自分自身を移植するための快適なルートのいくつかに当てはまります。しかし、このアプリを認証する必要があり、パラメータとしてユーザー名とパスワードを渡すだけでは安全ではないようです。それは安全ではないだけでなく、それは非常にきれいではない(私は(セッションに格納されている)current_userを参照するすべての呼び出しを変更する必要があります手動で現在のユーザーを設定すると、ブラウザなしで私のアプリへのヒットは、 vars(またはこれについて間違っていますか?)

アドバイスはありますか? RESTful認証はこれを行うことができますか?彼らの代替フレームワーク(Authlogic、OAuthなど)は私を助けることができますか?

答えて

1

Deviseが表示されますtoken-based authentication

セキュリティ上、SSL接続のみを許可してください。 SSL以外のHTTPリクエストをSSLバージョンのサイトにリダイレクトします。これにはRackミドルウェアrack-sslを使用できます。

+0

これは私のために働くかもしれないように見えます、私はそれをチェックアウトします。ありがとう! – Jenny

+0

Hrrm ...トークンベースの認証が動作しない(RESTfulと同様にクッキーとセッション変数を使用する可能性があります。もしそうなら...自分のソリューションをロールする以外に何もできません)それ以外の場合、Deviseは今のところ良いです。 – Jenny

+0

私はちょうどトークンを使う方法を知らなかったが、一度それを理解したら、それは完璧だった。 – Jenny

1

CanCanは、Railsアプリケーションの事実上の認可ツールです。この場合、ホイールを再発明しようとすべきではありません。

AuthLogicとRESTful認証の両方でうまくいくと思います。私は後者の経験があまりありません。

+0

私はちょっと混乱しています...私はAuthLogicとRESTful認証がすでに両方の認可ツールであると考えました... CanCanは競争相手であれば、CanCanはどのように「うまくいっていますか? CanCanは、ブラウザなしで許可する必要があるケースを処理しますか? – Jenny

+0

2人の命名法をあなたに騙さないようにしましょう.CanCanは特に認可の周りに設計されています。これはユーザーシステムではありません。あなたのリソースに対するアクセス許可を管理します。あなたのレールアプリとのインターフェースにはどのようなアプリケーションが必要ですか?これはWebサービスになるのでしょうか? –

+0

私は質問で言うように、iphoneアプリ。私は実際の承認についてあまり気にしません(すでに私のために働いています)。ユーザーがログインして、httpセッションバーを心配することなくログインしておきたいだけです。 – Jenny