2016-05-04 5 views
1

私はdeviseとdevise_token_authを使ってRails 4.Xアプリを持っています。このアプリを呼び出す際に電子メールとパスワードを暗号化したいここでencrypted_pa​​sswordとdevise_token_authとのログイン

サーバー側のコードです:

user.rb

class User < ActiveRecord::Base 
    # Include default devise modules. Others available are: 
    # :confirmable, :lockable, :timeoutable and :omniauthable 
    devise :database_authenticatable, :registerable, 
     :recoverable, :rememberable, :trackable, :validatable 

    include DeviseTokenAuth::Concerns::User 

Gemfile

gem 'devise' 
gem 'devise_token_auth' 
gem 'omniauth' 

これは、(クリアテキストでユーザー名とパスワードを使用して)私のカールコール

です
curl -v -H 'Content-Type: application/json' -H 'Accept: application/json' -X POST http://localhost:3000/api/auth/sign_in -d "{\"email\":\"[email protected]\",\"password\":\"aaaaaaa"}" 

私はcaを知っていますn最初の呼び出しを保護するためにhttpsを使用します。しかし、(httpsを使用せずに)暗号化されたユーザー名とパスワードを送信する他の方法はありますか? ありがとう!

答えて

1

challenge-response authenticationは、RFC 7616に指定されているとおりに実装できます。これにより、パスワードを平文チャネル上で十分に保護することができます。しかし、この方法は本質的にman-in-the-middle attacksになりがちです。別の問題は、この方法がサーバー側でパスワードの安全な保管を損なう共有秘密に依存していることです。

私の助言は、安全なチャネル(つまりhttps)でRFC 7617に指定されている基本認証方式を使用することでした。これは実装が比較的容易で、確立された方法です。

+0

ありがとうございました! Httpsです! –

関連する問題