私は、メール、パスワードなどを持つ単純なUserモデルでDeviseを認証用に使用するRails 3.1アプリケーションを持っています。私はiPhoneアプリケーションから認証できる必要があります。この機能を公開するにはどうすればよいですか?私の選択肢が何であるか分かりませんので、広範な回答が大丈夫です。iOSアプリケーションにRails/Devise認証を公開する
答えて
最も速い方法は、http_authenticatable
を有効にして、HTTP基本認証でユーザー名とパスワードを渡すことです。これが最も簡単な方法ですが、ユーザーのパスワードをプレーンテキストで保存し、要求ごとにパスワードを送信する必要があることを意味します。
より良いオプションは、トークン認証です。パラメータまたはHTTP Basic Auth(パスワードを「X」に設定し、トークンをユーザ名に設定できます)に渡すことができます。これの利点は、ユーザー名/パスワードを最初に使用してトークンを取得し、それを以後の認証に使用できることです。
最低限のコードでトークン認証を行う最も簡単な方法は、DeviseでHTTP認証を有効にし、ユーザーがログインすることを要求する新しいコントローラーをセットアップし、その結果としてreset_authentication_token
の結果を出力することです。トークンを取得したら、それを今後のHTTP認証要求に渡してログに記録します。
http_authenticatableを有効にして、ウェブサイトからログインしようとすると恐ろしいユーザー名/パスワードフィールドをドロップダウンしますか?私はまだウェブサイトを介して、クリーンなインターフェイスを介してログインするユーザーが必要です。 –
@ Zachary Ankerあなたの答えをありがとう。この権利を理解していることを確認できますか?デバイスはhttp://somesite.com/users/sign_inにアクセスし、POSTリクエストのフォームパラメータとしてユーザー名とパスワードを渡します。 Railsはこれらの詳細をチェックし、正しければトークンを返します。デバイスは、そのトークンを格納し、将来の通信でそれを使用する。それで、レールはどこからトークンを取得しますか?各ユーザーに固有のトークンを生成しますか?トークンは期限切れですか? – Undistraction
@Wayfarerそうすべきではありません。 HTMLなどのナビゲーション形式であれば、HTTP認証ダイアログをポップアップしてはいけません。それを表示したくない場合は、認証トークンを返すコントローラで自分でパスワードチェックを実装することもできます。 –
- 1. Windows認証Webアプリケーションから1ページを公開するには?
- 2. iOSアプリケーションの公開フレームワーク
- 3. 公開アプリケーションの非公開iOSアプリケーション - 無効なバイナリ
- 4. 無線認証ページiOSアプリケーション
- 5. iosアプリケーションの認証フロー?
- 6. ワイルドカード認証局とその公開鍵を公開するセキュリティ上のリスク
- 7. BaseX:認証なしの公開REST API
- 8. 公開ウェブサイトのGitHub API認証
- 9. Backbone Marionetteの認証ルートと公開ルート
- 10. C#認証付きWeb公開
- 11. 成功Ansible SSH passwdの認証が、公開鍵認証が
- 12. APIキーを公開するPythonアプリケーションを公開するには?
- 13. iOS-Designerで公開されたボタンを公開するには?
- 14. ASP.NETコアアプリケーションを公開するとユーザー認証が失われる
- 15. iOSがWiFi認証シートを開く
- 16. iOSの公開鍵でデジタル署名を確認する
- 17. SketchFlow認証プロンプトを使用してSharePointに公開すると公開が失敗する
- 18. 認証なしでhangfireを公開する
- 19. 公開鍵を使用してJsch認証が失敗する
- 20. Laravelの特定の認証ルートを公開する
- 21. すぐにiOSアプリケーションを認証する方法
- 22. VSTS経由でiOSアプリを公開/公開する方法
- 23. のJava - 公開鍵とパスフレーズによる認証 - J2SSH
- 24. iOSアプリの公開
- 25. モバイルハブサンプルiosアプリケーション用のAWSデベロッパー認証
- 26. iOSアプリケーションでの認証方法
- 27. Webアプリケーションを公開するには
- 28. WPFアプリケーションをLINQクラスデータベースに公開する
- 29. 公開アプリケーションに.pdfを追加する
- 30. Facebookアプリケーションの公開公開アクセス許可
すべてのdeviseコントローラがjsonとxmlに応答し、RESTインターフェイスを可能にします。 – zsquare
正直言って、まったく同じ問題があります。私はRESTを理解しており、APIはうまく機能しています。しかし、私はiOSデバイスからログインの概念を理解することはできません。 (私はフレームワークとしてRestKitを使用しています。誰かがiOSをレールアプリで認証してから、継続的にRESTコールを呼び出して情報を取得するために必要な手順を実行してください。セッションをどのように保存しますか?あなたはできる?これまでの呼び出しでユーザーの資格情報を渡す必要がありますか?何らかのトークンを使用できますか?どのように情報を取得するためにコールをフォーマットしますか?助けも私にとって素晴らしいだろう! –
@Wayfarerまさに。私は、Webサービスが何らかの種類のトークンをデバイスに渡す必要があると思っています。それは、デバイスがどの通信でも自分自身を識別するために使用できる認証済みではありますが、実際のところどのように動作するのかわかりません。明らかに、Userモデルは、認証後に共有される各ユーザーのための何らかの一意のトークンを格納することができますが、私はそれを提供する仕組みが不明です。 – Undistraction