1

デバイスの宝石を使用しているユーザーログインベースの認証用のアプリケーションをプログラムで作成していますが、成功しませんでした。デバイスベースのログインの場合、ユーザーの電子メールとパスワードを渡す必要があることを知っています。他のパラメーターを渡す必要がありますか。ブラウザでは、ユーザーの電子メールとパスワードでログインできますが、プログラムでUnauthorizedアクセスできます。

プログラムは入ってtitaniumいますが、それは問題ではないと考えています。重要なのは、レールサーバーに渡すパラメーターです。

userチタンにパラメータを追加せずに私のコンソール出力1 :

Started POST "/users/sign_in" for 192.168.0.187 at 2012-12-21 12:57:32 +0530
Processing by Devise::SessionsController#create as URL_ENCODED_FORM
  Parameters: {"password"=>"[FILTERED]", "email"=>"Gjpu "}
Completed 401 Unauthorized in 1ms

userチタンにパラメータを追加した後のコンソール出力2 :

Started POST "/users/sign_in" for 192.168.0.187 at 2012-12-21 13:03:19 +0530
Processing by Devise::SessionsController#create as URL_ENCODED_FORM
  Parameters: {"user"=>"{password=6f278077d841b3385e06bfa99acb374f, email=gjmwtp
gj}"}
Completed 401 Unauthorized in 1ms

Railsサーバーにヒットする私のチタンコード -

loginBtn.addEventListener('click',function(e)
{
    if (username.value != '' && password.value != '')
    {
        loginReq.open("POST","http://192.168.0.187:3000/users/sign_in");

        var params = {user: { email: username.value , password: Ti.Utils.md5HexDigest(password.value)}};

        //var params=JSON.parse(myparams);
        loginReq.send(params);
    }
    else
    {
        alert("Email/Password are required");
    }
});
4

1 に答える 1

0

カスタム デバイス セッション コントローラーを使用して認証し、createメソッドに 2 行を追加できるようになりました。

@user = User.find_by_email params[:email]
sign_in_and_redirect @user, :event => :authentication

トリックはうまくいきました。ありがとう!

于 2012-12-21T09:36:26.980 に答える