2014-11-10 3 views
0

Ember-CLI를 사용하여 Ember.SimpleAuth를 사용하여 사용자 정의 인증자를 작성할 때 사용자를 로그인하기 위해 사용자 정의 인증 자의 authenticate 메소드를 정확히 반환해야합니까? 아래는 현재 존재하는 인증 자입니다. 우리는 백 엔드에 phalcon rest API를 사용하고 있습니다. 궁극적으로이 방법은 해당 URL을 치고 서버 측에서 사용자를 인증해야하지만 서버가 ember.simpleauth가 무엇을 할 수 있도록 반환해야합니까? 해야합니까?Ember Auth 사용자 정의 인증 자

import Ember from "ember"; 
import App from '../app'; 
import Base from "simple-auth/authenticators/base"; 

export default Base.extend({ 
    tokenEndpoint: 'login', 

    restore: function(data) { 
     console.log('ran resotre'); 
    }, 
    authenticate: function(credentials) { 
     alert(credentials.identification); 
     alert(credentials.password); 
    }, 
    invalidate: function() { 
     console.log('ran invalidate'); 
    } 
}); 

답변

0

나는 약속을 반환 Ember Simple Auth - API

authenticate 요구를 읽을 것입니다. 이 방법에서 그 약속은 해결되거나 거절되어야합니다. 해결 된 약속은 성공적인 인증을 신호로 나타내며 거부되면 인증 실패를 약속합니다. 다음은 빠른 authenticate 함수의 구조입니다.

authenticate: function (credentials, options) { 
    return new Ember.RSVP.Promise(function (resolve, reject) { 
     var loginPromise = Ember.$.post(<token url goes here>, { 
      username: credentials.identification, 
      password: credentials.password 
     }); 
     loginPromise.then(function (data) { 
      resolve({ 
       token: data.token, 
       userData: data.user 
      }); 
     }, function (error) { 
      reject(error); 
     }); 
    }); 
} 
+0

예를 들어 주셔서 감사합니다. 그 덕분에 일을 훨씬 잘 이해할 수있었습니다. 내가 겪고있는 또 하나의 일이있다. authenticate 메소드가 실행되고 Ember. $. post 호출이 발생하면 CORS 오류가 발생합니다. localhost : 8080/projectname에있는 REST API에이 요청을 보내려고합니다. cont'd – John

+0

엠버 응용 프로그램은 localhost : 4200에 있습니다. 왜 Ember Data를 사용하여 문제없이 API를 호출 할 수 있는지 이해할 수 없지만 위의 Ajax 게시를 시도하면이 오류가 발생합니다. '콘텐츠 보안 정책 : 페이지의 설정에서로드가 관찰되었습니다. localhost : 8080/phalconbase/v1/auth/login ("connect-src http : // localhost : 4200 http : //api.local : 8080 ws : // localhost : 35729 ws : //0.0.0.0 : 35729 "). CSP 보고서가 발송 중이다 .' – John