Я новичок в ACS, WIF и федеративном файле идентичности в целом, но я работал с примерами в WIF SDK (и образцы ACS, а также), но у меня возникла проблема с использованием службы REST ASP.NET MVC на базе WebAPI (размещенной на Azure), где я настроил ACS как FP. Если я использую свой браузер для проверки службы REST (http://jordan-helloacs.cloudapp.net), я получаю традиционную «пассивную аутентификацию» и могу войти в систему через Live ID или Google (который я установил как два IP в ACS).Неисправность с использованием ACS с «пассивным активным» сценарием для использования службы REST ASP.NET MVC на основе WebAPI
Однако я пытаюсь добиться «пассивно-активный» опыт с помощью простого приложения WPF, получающего доступные IP-адресов с помощью
«https: // [myACSnamespace] .accesscontrol.windows ? .net/v2/метаданные/IdentityProviders.js протокол = javascriptnotify & область = HTTP: //jordan-helloacs.cloudapp.net/ & версия = 1,0" ,
конечных точек на ОКС позволяет получить список IP-адресов, а затем размещает элемент управления WebBrowser для обработки входа в этот IP-адрес и извлекает токен ACS, который i s, возвращенный из ACS, а затем (используя RestSharp) делает GET-вызов моей конечной точке на http://jordan-helloacs.cloudapp.net. Я успешно извлек токен (я пробовал как SWT, так и SAML2), но я не могу понять, что мне нужно сделать с токеном, как только я получил его из элемента управления WebBrowser. Я видел несколько разных примеров, где токен добавляется либо с «OAUTH», либо «WRAP access_token =» и просто передается в заголовке «Авторизация», но я ничего не делаю, кажется, работает. Мой клиент RestSharp просто продолжает получать 302'd на странице входа ACS.
Любые советы о том, что я могу делать неправильно? Как узнать, как указать формат заголовка auth?
302 не является ошибкой, это то, что WIF автоматически направляет меня на страницу входа в ACS, когда я не аутентифицирован. Проблема в том, что я * am * authenticated - я просто не знаю, как передать токен ACS в службу. – Jordan0Day
Да, 302 - перенаправление. Может быть, вам действительно нужно использовать Message Inspector или что-то в этом роде: http: //stackoverflow.com/questions/2605140/wcf-how-to-pass-token-for-authentication – AvkashChauhan
Наверное, я в замешательстве? Я не использую WCF, я использую ASP.NET MVC WebApi ... насколько я могу сказать, что 302 является результатом стандартного WIF-кода (предположительно, WSFederationAuthenticationModule), который добавляется в web.config после выполнения «Добавить ссылку STS» в VS. – Jordan0Day