2016-11-09 5 views
4

Может кто-то объяснить назначение файлов cookie, отправленных в браузер пользователя после успешного входа в систему Identity Server4. Также у меня есть три меньших связанных вопроса внизу.Cookies in IdentityServer4

Клиент использует промежуточное ПО cookie в ядре ASP.NET, определенное в файле Startup.cs.

app.UseCookieAuthentication() 

Это совершенно очевидно, какие жетоны созданы Сервер идентификации и какие куки создает ASP.NET ядра промежуточного слоя, но я не уверен, что содержание каждого печенья containts.

ASP.NET Ядро промежуточного программного обеспечения решило создать куски файлов cookie, возможно, из-за размера файла cookie (4050B + 865B).

Я пытался найти способ дешифрования файлов cookie для чтения значений с использованием API Data Protection, предоставляемого ASP.NET Core без везения.

  • idsvr
  • idsvr.session
  • .AspNetCore.coookie
  • .AspNetCore.coookieC1
  • .AspNetCore.coookieC2
  • .AspNetCore.Antiforgery.

Screenshot from developer tools in Internet Explorer

  1. Что печенье содержит id_token, access_token выдано Удостоверение сервера?
  2. CookieName может использоваться для изменения имени файла cookie, созданного промежуточным программным обеспечением ASP.NET Core, если разные клиенты используют одно и то же имя файла cookie или им нужно иметь отдельные файлы cookie сеанса?
  3. Могут ли файлы cookie Identity Server дешифровать с помощью API Data Protection?

ответ

0
  1. AFAIK id_token, access_token не хранятся в куки по умолчанию. Но вы можете сохранить их в cookie сессии (cookie, созданный промежуточным программным обеспечением ASP.NET Core), если это необходимо. Here is how it is done для сервера идентификации 3 с гибридным потоком с использованием промежуточного ПО OpenID для подключения OWIN. Также должен быть аналогичный вариант для промежуточного программного обеспечения asp.net.

  2. Каждый клиент может иметь такое же имя файла cookie, но от них не требуется. ПО ПУТЬМ, к файлу cookie может обращаться только клиент, который его создал.

  3. Я не знаю.