2015-12-14 4 views
0

Я пытаюсь реализовать решение аутентификации с токеном, используя Owin и ASP.Net, размещенные в IIS, и у меня возникают проблемы с тем, чтобы защита данных dafault работала корректно на токенах-носителях, которые генерируются. Решение кажется прекрасным, за исключением того факта, что я могу создавать токены-носители с сервера auth на одной машине, и API ресурсов может использовать эти токены на другой машине. Из всего, что я исследовал, validationKey в файле machine.config следует использовать для защиты маркера по умолчанию, если я не реализую свою собственную защиту данных. Я попытался добавить ключ/ключ проверки машины в свой web.config, но не повезло.По умолчанию Data Protector - Owin Token Auth

Метод конфигурации в классе запуска выглядит следующим образом:

public void Configuration(IAppBuilder app) 
    { 
     HttpConfiguration config = new HttpConfiguration(); 

     // Setup auth 
     ConfigureOAuth(app); 
     WebApiConfig.Register(config); 
     app.UseWebApi(config); 
    } 

Как получить защиту данных по умолчанию работать так, чтобы это защита данных с помощью ключа проверки? Есть ли еще один шаг в настройке?

ответ

0

У вас должен быть machineKey узел как для сервера Auth Server, так и для сервера ресурсов совместно используют один и тот же файл 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/.