2013-02-22 2 views
1

Backbone.js와 같은 프런트 엔드 프레임 워크를 사용할 때 인증 처리에 대한 질문이 있고 API를 작성하고 있습니다.백본을 사용한 외부 개인 API 인증

저는 RESTful 웹 요청을 기반으로 데이터를 반환하고 수정하는 단일 API 서버를 보유하고 있습니다.

다른 응용 프로그램 서버가 백본 응용 프로그램입니다. 이 애플리케이션이 내 API 서버에 직접 연결되기를 원하기 때문에이 애플리케이션 서버가 API 서버에 도메인 간 AJAX 요청을 할 수 있도록 전체 프로젝트를 설정하십시오.

승인되지 않은 당사자가 액세스하지 못하도록하는 일부 API 경로가 있습니다. 예를 들어 내 앱의 모든 사용자를 나열하는 경로/사용자가 있습니다. 나중에 admin 기능을 위해이 경로가 필요하지만, 내 앱 서버에 공개적으로 사용 가능하게하고 싶지 않습니다.

사용할 수있는 인증 스키마는 무엇입니까? 비밀 토큰이 프런트 엔드에 노출되므로 OAuth가 작동하지 않습니다. 그 후, 나는 나의 선택권이 무엇인지에 조금 붙어있다. 누구든지 앞으로 나아갈 제안이 있습니까?

답변

3

이러한 경우에는 여러 가지 기술을 사용합니다.

- 백본 응용 프로그램으로 좋은 늙은 쿠키 기반 인증

항상 브라우저 내에서 사용되며 브라우저가 내장되어 쿠키 지원, 난 당신이 서버에 쿠키 기반 세션을 수용해야한다고 제안 측면. 모든 인증 관련 항목은 브라우저에서 처리되므로 키 저장에 대해 걱정할 필요가 없습니다. NSURL (iPhone의 경우 NSURL) 및 프레임 워크 (PhoneGap/Trigger)와 같은 많은 라이브러리에서 쿠키를 모두 지원하므로 지원할 수 있습니다. litte work를 가진 모든 종류의 고객.

- 일반 API 키 타사의 경우

, 내가 API 키 기반 인증을 사용합니다. usernamepassword을 제공하면 키를 제공합니다. 모든 후속 요청에 대해 매번 HTTP 헤더에서 해당 키를 보냅니다. 나는 당신을 확인하고 그에 따라 행동을 허용/금지하기 위해 열쇠를 사용합니다.

난 당신이 사용자를 인증 할 수 있습니다 한번 가정 (wait..who 당신인가?), 당신은 설치 권한은

도 살펴보고 (당신이 좋아 당신이 /users 액세스 할 수 있습니까? ... Micheal 말) 할 수 있습니다 내 backbone-parse plugin에서 외부 API 서비스에 대해 사용자를 인증하는 방법에 대한 아이디어 #shamelessplug