Защита данных по умолчанию - 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/.

Другие вопросы по тегам