Я строю API-интерфейс rails с проверкой подлинности и пытаюсь проверить логин с помощью curl. В конечном итоге я хочу войти в систему с помощью мобильного приложения и получить токен аутентификации. Я в настоящее времяRails API login using curl
# api/sessions_controller.rb
class Api::SessionsController < Api::BaseController
skip_before_filter :verify_authenticity_token
def create
@user = User.find_for_authentication(email: params[:email])
if @user && @user.valid_password?(params[:password])
@user.generate_authentication_token
render :json=> {:user_id=>@user.id, :token=>@user.authentication_token}
else
error! :unauthenticated
end
end
private
def user_params
params.require(:user).permit(:email, :password)
end
end
Я делаю curl -i -X POST -d "user[email][email protected]&user[password]=password" "http://localhost:3000/api/sessions"
но Войти неудачен
HTTP/1.1 401 Unauthorized
X-Frame-Options: SAMEORIGIN
X-Xss-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
Cache-Control: no-cache
X-Request-Id: 5d84cbb4-28d3-48fb-bfce-a29d0f40569d
X-Runtime: 0.029000
Server: WEBrick/1.3.1 (Ruby/2.1.5/2014-11-13)
Date: Mon, 02 Mar 2015 02:29:32 GMT
Content-Length: 61
Connection: Keep-Alive
Set-Cookie: request_method=POST; path=/
{"error":"You need to sign in or sign up before continuing."}
Пожалуйста, дайте мне знать, если у вас есть какие-либо предложения. Благодаря!
вы можете попробовать, как это '' завивать -i -X POST -d "пользователь [электронная почта] '[email protected]'&user [пароль] =' = пароль '" "HTTP: // локальный: 3000/api/sessions "' ' – coderhs
Он по-прежнему дает тот же ответ – user3610962
Попробуйте следующее:' 'curl -i -X POST -d [user] [email protected]" -d "user [password] = password «http: // localhost: 3000/api/sessions» '' – coderhs