2012-12-21 57 views
1

我正在編寫基於用戶登錄的身份驗證應用程序,它使用的是設計寶石,但無法成功。我知道,基於設計的登錄,我需要傳遞用戶的電子郵件和密碼。我是否需要通過其他參數?在瀏覽器上,我可以用用戶的電子郵件和密碼登錄,但編程方式我得到Unauthorized訪問權限。以編程方式設計基於用戶身份驗證

儘管程序在titanium,但我認爲這並不重要,重要的是你傳遞給rails服務器的參數。

我的控制檯輸出1不添加user PARAMS在鈦:在鈦加入user PARAMS後

Started POST "https://stackoverflow.com/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 

我的控制檯輸出2:

Started POST "https://stackoverflow.com/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 

我的鈦代碼擊中導軌服務器 -

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"); 
    } 
}); 
+0

您嘗試通過移動設備訪問您的問題。你必須用JSON(或者JSONP)處理你的數據。你還必須檢查你的沙箱。 – pablomarti

+0

我是新來的鈦,但知道軌道上的紅寶石,所以遵循教程http://mobile.tutsplus.com/tutorials/appcelerator/titanium-user-authentication/,我沒有參數傳遞在JSON中,但未經授權的訪問。 –

+0

你能顯示你正試圖從Titanium的應用程序訪問的代碼和路線嗎? – pablomarti

回答

0

我現在能夠使用t他定製了會話控制器並在create方法中添加了兩行。

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

該技巧奏效。謝謝!

相關問題