2013-03-24 5 views
7

Ember.js와 SPA를 막 연구하고 있습니다. ASP.Net MVC/C#/Razor에 대한 배경 지식이 있습니다.ember.js 앱에서 인증을 처리하는 방법

인증은 어떻게 작동합니까? 정규 웹 사이트에서는 Oauth 공급자를 사용하고 인증 된 정보로 돌아 오면 양식 인증 티켓을 만듭니다.

인증을 다루는 좋은 tuts/articles를 찾지 못했습니다 ... 특히 ASP.Net에서.

정말 ember.js를 파고 들기를 기다릴 수는 없지만 이것이 처음부터 중요 할 것입니다.

감사합니다.

+1

현재 비 js에 어떻게 로그인합니까? 회원 API? –

+0

프레임 워크를 배우기 위해 처음부터 엠버 앱을 시작합니다. asp.net MVC 배경에서 오는, 나는 그 플랫폼에 ember를 사용하는 것을 선호합니다. 이전 응용 프로그램에서는 oauth 인증 정보를 가져 와서 본질적으로 로그인하는 formsauth 티켓을 만듭니다. – Chaddeus

+1

첫 번째 제안은 oauth 인증을 위해 JS에서 호출 할 수있는 작업 방법을 만드는 것입니다. 두 번째 제안, 웹 API를 사용하십시오. –

답변

4

일반적으로 Ember 앱의 인증은 대부분의 웹 앱의 인증과 크게 다르지 않습니다. 세션 쿠키를 사용하여 서버에 로그인 한 사용자를 식별하고 세션이 아직 인증되지 않은 경우 로그인 UI를 표시합니다.

전통적인 웹 앱에서는 페이지 요청시 & 잠재 리디렉션이 발생합니다. Ember 앱에서 API 요청 (일반적으로 라우터 내에서 전송 됨) 및 사용자가 로그인하지 않았 음을 나타내는 API 응답의 경우 transitionTo는 사용자에게 사용자 이름/비밀번호 양식을 표시하는 logIn 경로로 전송합니다. OAuth를 사용하는 경우 비슷한 패턴이지만 대신 사용자가 해당 지점에서 OAuth 플로우를 시작할 수 있습니다.

대체하면 API 세션이 있음을보고 할 때

다른 패턴이 먼저 엠버 응용 프로그램의 index.html 페이지를로드 할 때 인증을 확인, 또는 페이지에서 기존 로그에 엠버 응용 프로그램에서 리디렉션을 포함 접근 하지에 기록.

노트

는 어떤 방법을 사용하든, 당신의 서버 API를 각 사용자가 인증되고 권한이 부여되어 있는지 확인하는 것이 중요합니다. 또한 일반적으로 모든 JS 코드와 Handlebars 템플릿을 권한에 관계없이 모든 사용자에게 보냅니다. JS 또는 템플릿에는 민감한 정보가 없으므로 일반적으로 문제가되지 않지만 명심해야 할 사항이 있습니다.

업데이트 : 인증 타사 서비스를 포함하여 처리하기위한 몇 가지 간단한 프리미티브를 제공하는 새로운 [torii][1] 라이브러리의 팬이되었다

.

+0

감사합니다. 루크, 철저한 답변을 주셔서 감사합니다. – Chaddeus

관련 문제