2015-04-17 1 views
0

Я не могу найти прямой ответ, который касается примера кода, как он работает, но я использую simple-auth 0.7.3. с ember-cli и simple-auth-devise. Я могу проверить подлинность просто отлично, но как только я обновляю сеанс страницы, он убит. Я видел предыдущую запись, и у парня не было подходящего объекта, но как насчет случая, когда объект верен?Ember Simple Auth Device сохраняет информацию аутентификации в LocalStorage

{"authenticator":"simple-auth-authenticator:devise","user_id":53,"user_token":"Vm2TwefZCwaAo8hfg&pT","user_email":"[email protected]"} 

Im не самый острый нож в розыгрыше, но я надеюсь, что кто-то может пролить некоторый свет на то, почему сеанс был убит и как/где, чтобы предотвратить это.

+0

Вы видите токен в вашем местном хранилище после входа? И какой предыдущий пост вы имеете в виду? – albertjan

+0

У вас есть что-то вроде этого: 'ENV ['simple-auth'] = { store: 'simple-auth-session-store: local-storage' }' в вашем envirnoment.js? – albertjan

+0

Извините, что я покойный ответ. Я почти потерял надежду на ответ, но да: 'ember_simple_auth: session' '{" authenticator ":" simple-auth-authenticator: devise "," user_id ": 53," user_token ":" Vm2TCzk7CwaAo8zYCzpT "," user_email ":" [email protected] "}' – artsmc

ответ

2

Исходя из того, что кладется в LocalStorage:

{"authenticator":"simple-auth-authenticator:devise","user_id":53,"user_token":"Vm2TwefZCwaAo8hfg&pT","user_email":"[email protected]"} 

Ember простой аутентификации используется «пользователь», как ResourceName в конфигурации: Ember Simple Auth Devise

ResourceName обычно добавляется, когда конечная точка сервера ожидает больше, чем электронная почта, пароль. В этом случае конечная точка ожидает user_email, user_password.

И по умолчанию Когда вы обновляете страницу, просто аутентификация проверяет местное хранилище на адрес , токен. Вы также должны изменить это на user_email, user_token.

в Config:

ENV['simple-auth-devise'] = { 
authorizer: 'simple-auth-authorizer:devise', 
serverTokenEndpoint:   ENV.APP.HOST+'/' + ENV.NAMESPACE +'/users/sign_in', 
resourceName:    'user', 
tokenAttributeName:   'user_token', 
identificationAttributeName: 'user_email'}; 

И что решает проблему сохранения состояния.

Смежные вопросы