2016-05-12 3 views
1

Я искал какое-то время и не могу найти статью, в которой говорится о лучшей практике хранения токенов доступа. Извините, это, вероятно, дубликат ...Лучшее место для хранения токенов доступа для использования рельсов

Очевидно, я бы хотел, чтобы это было постоянным, поэтому, естественно, я бы подумал хранить его в базе данных или в файлах cookie пользователя. Однако я видел, как некоторые люди говорят, что хранят его в memcache или сеансе, но я действительно не знаю, что они подразумевают под этим.

+0

вы нашли какое-либо решение для этого? –

ответ

0

Если вы храните сеанс в файле cookie, лучше использовать ActionController :: Session :: CookieStore по умолчанию, поскольку он криптографически подписан и зашифрован.

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

См here для справки

+0

Но я думал, что 'session' hash не является постоянным. Как только пользователь закрывает свой браузер, мы теряем любую форму идентификации. –

+0

Сессия хранится на стороне сервера, поэтому они не зависят от браузера. Идентификатор сеанса хранится в файле cookie в браузере пользователя и сохраняется до тех пор, пока пользователь не удалит его или в зависимости от даты истечения срока действия cookie. См. [Здесь] (http://guides.rubyonrails.org/action_controller_overview.html#session) для ссылки –

+0

«Существует одно исключение, и это хранилище по умолчанию и рекомендуемое хранилище - CookieStore - которое хранит все данные сеанса в сам файл cookie (идентификатор по-прежнему доступен вам, если вам это нужно) «Кажется, что клиент сохраняет информацию, а не сервер по умолчанию .... –

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