Защита данных по умолчанию - Autin Token Auth
Я пытаюсь реализовать решение для аутентификации токена с использованием Owin и ASP.Net, размещенных на IIS, и у меня возникают проблемы с корректной работой защиты данных по умолчанию на генерируемых токенах носителя. Решение, кажется, работает нормально, за исключением того факта, что я могу генерировать токены носителя с сервера авторизации на одном компьютере, а API ресурсов может использовать эти токены на другом компьютере. Из всего, что я исследовал, ключ validationKey в файле machine.config должен использоваться для защиты токена по умолчанию, если я не реализую свою собственную защиту данных. Я попытался добавить машинный ключ / ключ проверки в мой web.config, но безуспешно.
Метод Configuration в классе Startup выглядит следующим образом:
public void Configuration(IAppBuilder app)
{
HttpConfiguration config = new HttpConfiguration();
// Setup auth
ConfigureOAuth(app);
WebApiConfig.Register(config);
app.UseWebApi(config);
}
Как настроить защиту данных по умолчанию, чтобы она защищала данные с помощью ключа проверки? Есть ли еще один шаг в конфигурации?
1 ответ
Вам необходимо, чтобы узел machineKey для сервера аутентификации и сервера ресурсов совместно использовал один и тот же ключ machineKey в файлах web.config. Вам не нужно иметь никаких дополнительных настроек конфигурации.
Промежуточное ПО OAuth будет использовать поставщика защиты данных по умолчанию на вашем сервере авторизации, поэтому оно будет использовать значение "validationKey" в узле machineKey, хранящемся в файле machine.config, для выдачи токена доступа и его защиты. Тот же самый случай применяется, когда вы отправляете токен доступа на свой сервер ресурсов, он будет использовать тот же ключ machineKey для дешифрования токена доступа и извлечения билета аутентификации из него.
Вежливость - Taiseer Joudeh http://bitoftech.net/2014/09/24/decouple-owin-authorization-server-resource-server-oauth-2-0-web-api/.