레일 4를 사용하여 API를 만들고 인증을 위해 Devise을 사용하고 있습니다. 또한 사용자 로그인을 위해 SessionsController
을 무시하고 있습니다. 리소스가 user
이고 적절한 devise_for
라우트를 설정했습니다. 작동devise 로그인 레일에 대한 맞춤 매개 변수 4
{"user": {"email": "[email protected]", "password": "password"} }
: 내가 좋아하는 데이터 PARAMS와 curl
을 할 경우 자원이 user
입니다
def create
self.resource = warden.authenticate(auth_options)
## Handle error/success json based on resource
.......
end
때문에 다음과 같이 create
행동이다.
내가 알고 싶은 것은 devise/warden
이 적절하게 그것을 선택할 수 있도록 매개 변수를 사용자 정의하는 방법입니다. 즉, 나는 다음과 같은 요청 데이터를 전송하고자하는 그것은 인증을해야합니다
{"email": "[email protected]", "password": "password"}
당신은 그것들이'user' 객체 아래에 중첩되기를 원한다는 것을 의미합니까? – kurenn
아니요. 객체 아래에 중첩되지 않기를 바랍니다. params [: user] [: email] 대신 params [: email] 및 params [: password]와 같아야합니다. – swaroopsm
리소스에 대한 인증 방법뿐만 아니라 devise sessions 컨트롤러를 덮어 써야합니다. 자세한 정보는 위키 문서 https://github.com/plataformatec/devise/wiki/How-Tos#custom-authentication-methods – kurenn