13

현재 웹 사이트 인증을 위해 devise plugin을 사용하는 레일 3 애플리케이션이 있습니다. 하지만 이제는 iPhone 응용 프로그램을 추가 할 예정이므로 클라이언트 장치 (iPhone)에 API 호출을 노출합니다. iPhone 클라이언트가 레일 사이트를 인증하고 일부 API에 액세스 할 수 있도록 인증 모듈을 어떻게 구현합니까?api authentication in rails 3

토큰 기반 인증 또는 간단한 http 인증은 작동합니까?

답변

8

이 경우 HTTP 기본 인증이 정상적으로 작동합니다. 보안을 강화하려면 OAuth 제공 업체를 만들고 더 사용자에게 친숙하게 만들기 위해 Twitter xAuth의 구현을 직접 만들 수 있습니다. 본질적으로 사용자 이름과 비밀번호를 수락 한 다음 해당 사용자에 대한 OAuth 요청 토큰을 반환하는 API 호출을 만듭니다. iPhone에 해당 요청 토큰을 저장하고 후속 요청을 인증하는 데 사용합니다.

+0

루비 코드의 요청이 토큰을 사용하여 어떻게 이동하는지 코드 스 니펫을 게시 할 수 있습니까? – Gotjosh

+0

OAuth는 꽤 복잡한 주제이므로 많은 부분을 단순화하고 있지만 기본적으로 초기 OAuth 연결 중에는 액세스 토큰을 생성하고 사용자가 속한 사용자와 함께 데이터베이스에 저장합니다. API에 요청하면 액세스 토큰을 제공합니다. 그런 다음 서비스가 액세스 토큰을 소유하고 그에 따라 인증/권한 부여를 누가 조회 할 수 있습니다. Ruby OAuth Provider 라이브러리를 찾는다. –