Наша аутентификация основана на IdentityServer3.
В настоящее время мы работаем над проектом Webhook, чтобы предоставить зарегистрированным клиентам уведомление pu sh, поступающее из учетных записей пользователей.
Другими словами:
- пользователь разрешает клиенту доступ к его информации
- пользователь явно разрешает клиенту регистрироваться на веб-хоках
- наша платформа отправляет POST-запрос относительно информации об этом пользователе этому клиенту
Мы хотели бы отправить HTTP-заголовок вместе с webhook, чтобы позволить клиенту проверить его. Чтобы сделать это, мы подумали отправить внутри этого заголовка подписанный ха sh всего тела. Теперь проблема в том, что мы хотели бы централизовать генерацию / отзыв ключей внутри IdentityServer.
Мы знаем, что IdentityServer обрабатывает более 1 секрета на каждого клиента (для обеспечения функции ротации ключей), но - как Насколько я понимаю, эти секреты используются только для генерации токенов для клиентов. Таким образом, вопрос: это хороший подход для хранения такого ключа?
Другими словами, мы хотели бы сделать следующее:
- вставить в таблицу ClientSecrets новый секрет с пользовательским типом (например, WebhookKey)
- this ключ будет зашифрован нашим программным обеспечением, чтобы его можно было расшифровать при отправке Webhook
Что вы думаете об этом подходе? Может ли этот пользовательский секретный тип конфликтовать с внутренними компонентами IdentityServer?