저는 현재 일반적인 비주얼 웹 애플리케이션 goop 외에도 외부 애플리케이션에서 사용할 수 있도록 몇 가지 RESTful API 서비스를 제공하는 애플리케이션을 개발 중입니다. 나는 Devise를 사용하여 사용자 인증을 관리하고 있지만 특정 입력을받은 사용자를 "수동으로"인증하는 방법에 어려움을 겪고 있습니다.API에 대한 레일 인증
내가 갖고있는 사례는 API의 사용자가 실제로 화면의 시각적 인 로그 등을 사용하여 로그인하도록하고 싶습니다. 사용자 이름과 비밀번호를 제출하고 인증 한 후 내 API 서비스.
Devise가 제공하는 sign_in
메서드를 사용하여 사용자에게 서명 할 수 있음을 알고 있지만 인증을 완전히 무시한 것으로 보입니다. 여기에 좀 더 자세하게 설명하고 싶습니다.
사용자 컨트롤러에서 connect라는 GET 라우트를 가정합니다. 컨트롤러는 Devise 등록 컨트롤러를 완전히 대체하지만 세션 1은 대체하지 않습니다. 내 서비스에 대한 URL은 다음과 같습니다
<server>/users/connect
그것은 내 질문의 버릇에 대한 구체적이고 중요하지 않은 일부 서비스에 추가하여 '이메일', '암호'매개 변수를 예상. -이 때문에 일반화의 I이 작업을 수행하기 위해 고안 소스의 방법을 찾을 수 없었습니다
def connect
user = User.find_by_email(params[:email])
password = params[:password]
# here is the part I'm pseudo coding out
if user.is_valid_password(password)
...do my stuff...
end
render :json ...etc...
end
: 내가 알고 싶은 무엇
는 다음 의사 코드에 해당 무언가를 구현하는 방법입니다 이렇게 많은 방법으로 나는 그것을 놓치고있을 가능성이 높습니다.
누구든지 아이디어가 있습니까? 나는) 자신의 일을 구현해야하고 b) Devise에서 벗어나지 않아도되기를 바라고 있습니다. 그것은 비 API 서비스에 대해 많은 것을 제공합니다 ...
감사합니다!
은 내가 고안의 token_authenticatable이 갈 수있는 방법입니다
멋진 아이디어로 살펴 보겠습니다. 감사합니다 :) – jaydel
이것은 현재 사용되지 않으며, 누구든지 새로운 구현으로 이것을 구현하는 방법을 알고 있습니까? – halbano
토큰 기반 작성 인증에는 https://github.com/lynndylanhurley/devise_token_auth를 사용해야합니다. – plunntic