Добавьте .Net Core 2 API к .Net 4.6 API Webfarm, который использует шифрование machineKey - PullRequest
0 голосов
/ 20 ноября 2018

У нас есть архитектура микросервисов, созданная из .Net 4.6.1 Web API, которые используют один и тот же ключ machineKey в своих файлах web.config, который необходим им для связи.Все они развернуты на собственных серверах компании.Мы хотим начать использовать .Net Core 2 для новых веб-API, но .Net Core Web API использует новый API защиты данных, который больше не использует machineKey, но использует файл общего ключа.Итак, мой вопрос:

Как мы можем создать новый веб-API .Net Core 2, добавить его в нашу существующую архитектуру микросервисов .Net 4.6.1 и заставить их общаться с помощью machineKey, который они уже используют?

1 Ответ

0 голосов
/ 10 декабря 2018

После долгих исследований я пришел к выводу, что этого достичь нельзя, поскольку API .Net Core 2 не поддерживают шифрование machineKey.Итак, я модифицировал наши .Net 4.6 API с помощью .Net Core Data Protection API и настроил их на использование того же набора ключей.Затем в наших .Net Core API я настроил API защиты данных на использование того же набора ключей, что и .Net 4.6 API.Затем я создал промежуточное программное обеспечение для аутентификации для наших API .Net Core 2.1, которое расшифровывало маркеры доступа и создавало заявки.

Вот хорошая статья о замене machineKey в ASP.NET API защиты данных: https://docs.microsoft.com/en-us/aspnet/core/security/data-protection/compatibility/replacing-machinekey?view=aspnetcore-2.1

Вот хорошая ветка о создании промежуточного программного обеспечения для ASP.NET Core 2: Промежуточное программное обеспечение для проверки подлинности ASP.NET Core 2.0

...