Paas — Хранение Пользовательских Данных В Redis

  • Автор темы Ele208686
  • Обновлено
  • 20, Oct 2024
  • #1

Наш веб-сайт Sitecore 9.2 PaaS использует федеративную аутентификацию для входа в систему наших конечных пользователей, и мы ищем безопасное место для хранения токенов обновления и доступа (предпочтительно на стороне сервера). Мы бы предпочли не создавать новую базу данных SQL только для хранения токенов, поэтому мы рассматриваем возможность использования кэша Redis, который поставляется «из коробки» с Sitecore 9.2.

Это подходящее место для хранения токенов доступа и обновления или есть что-то, о чем нам следует знать? Первоначально он предназначен только для хранения данных сеанса?

#paas #caching #federated-authentication #redis

Ele208686


Рег
17 Mar, 2020

Тем
67

Постов
205

Баллов
540
  • 26, Oct 2024
  • #2

Мы используем тот же подход в нашем решении Sitecore. Основная проблема, с которой мы столкнулись, заключается в том, что

 //write the token
var connectionMultiplexer = ConnectionMultiplexer.Connect(redisConnectionString);
IDatabase db = connectionMultiplexer.GetDatabase();
await db.StringSetAsync(key, token, ttl);

//read the token back        
var tokenFromRedis =  await db.StringGetAsync(key);
 
event from the OWIN middleware, where you receive the token, runs before the ConnectionMultiplexer событие жизненного цикла из IIS, где создается экземпляр состояния сеанса. Поэтому мы не смогли использовать состояние частного сеанса Sitecore. StackExchange.Redis

строить Sitecore.SessionProvider.Redis.RedisSessionStateProvider driver is straightforward. Note that is it recommended to store and reuse the AcquireRequestState Возможно, вам придется прочитать файл cookie сеанса вручную и использовать его в качестве ключа для Redis или другого специального решения, которое соответствует вашим требованиям. Взаимодействие с Redis без Sitecore через

SecurityTokenValidated
 

Geoin


Рег
14 Oct, 2006

Тем
68

Постов
191

Баллов
531
Похожие темы Дата
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно