사용자 자원 작업은 모든 응용 프로그램에서 필수적인 부분이므로 가능한 한 자동화해야하는 작업입니다. 엠버 (Ember)에 관해서는 나는 괴짜 기반 인증 시스템과 통신하는 방법을 설명하는 자습서 https://github.com/heartsentwined/ember-auth-rails-demo/wiki 을 발견했습니다. 그리고, 와우, 그것은 보일러 플레이트의 지옥이야. Rails4에 대해 새로운 장치로 변경되었거나 모든 것이 동일합니까?Rails4에서 emberj와 장치를 사용한 클라이언트 측 인증
답변
ember-auth
dev 여기. Google 직원
편집/업데이트 : 지금 devise
, ember
및 ember-auth
과 더불어, rails 4
응용 프로그램을 구축했다. 뒤에 오는 2 개의 잡종을 제외하고, 모두는 잘 작동하고있다.
는devise
>= 3.1
tokenAuthenticatable
제거 모듈. 그래서 난 내Gemfile
에 선언 할 것 :gem 'devise', '>= 3.0', '< 3.1'
. 문제는ember-data
이 json-api으로,ActiveModelSerializers
에서 멀리를 표류json-api
자체가 안정적이지 않습니다. 빠르고 쉬운 해결 방법은DS.RESTAdapter
을 규칙을 따르는DS.ActiveModelAdapter
으로 바꾸는 것입니다. 그것은 "그냥 작동해야합니다". 아무것도 자체을 함께 BC-파괴가 없기 때문에
그래, 좋아, ember-auth
는 rails4
을지지 않습니다.
(이전 답 :
내가rails 4
와 아무 경험이 하지만 ember-auth
자체는 특히 rails
/devise
을 rails 3
에 의존, 또는 실제로하지 않습니다. 유일한 기대는 서버가 노출하는 API 집합입니다. [1] docs은 서버 API로부터 기대치를 설명합니다. 백엔드로서 레일을 사용로서는
는 ember-data
명시 rails
모델에서 json
응답을 휘젓는하기위한 편리한 방법을 제공한다 (및 부착) 지원 active_model_seriailzers
을 선언한다. 그러나 인증 동작이 "표준"REST
전체 모델 응답과 일치하지 않기 때문에 ember-auth-rails-demo
자습서 자체가 예상 응답을 수공예로 만듭니다. 예 : 필요에 따라
def create
# ...
data = {
user_id: resource.id,
auth_token: resource.authentication_token,
}
if params[:remember]
resource.remember_me!
data[:remember_token] = remember_token(resource)
end
render json: data, status: 201
end
그래서, rails 4
의 호환성을 위해, 좀 더에 devise
호환성, 어떤 ActiveRecord
변경, 일반 다른 보석 호환성에를 조사 할 것입니다. ember-auth
에 대해서는 docs에 설명 된대로 예상되는 응답을 계속해서 손수 제작합니다.
[1] :이 기대조차도 사용자 정의 된 adapters
을 작성하여 사용자 정의 할 수 있습니다.고급 사용법,하지만 필요한 경우 더 자세히 설명 할 수 있습니다.
업데이트 :'rails4' 경험이 추가되었습니다. – heartsentwined