Получение КОДА обратно из процесса аутентификации OWIN

Мы используем промежуточное ПО OWIN для входа людей в наше облачное приложение с помощью OpenId Connect.

Проблема в том, что мы также хотим получить доступ к их данным Office 365 через новые API.

Использование OWIN для входа в систему не возвращает нас на наш веб-сайт с КОДОМ, поэтому, используя ADAL, мы отправляем их обратно, чтобы дать согласие во второй раз, а затем получить наши токены и т. Д.

Можем ли мы сделать это одним махом?

Вот что, по словам Fiddler, использует OWIN для аутентификации:

https://login.windows.net/common/oauth2/ authorize? client_id=ourguid &nonce=random characters &response_mode=form_post &response_type=code+id_token &scope=openid+profile &state=OpenIdConnect.AuthenticationProperties*more random characters* &redirect_uri=http%3a%2f%2flocalhost%3a8683 &post_logout_redirect_uri=http%3a%2f%2flocalhost%3a8683

Я вижу код + id_token в строке запроса, но когда он отправляет мне обратно, в URL-адресе вообще ничего нет.


person Wesley    schedule 11.07.2014    source источник


Ответы (1)


Вы можете сделать все за один шаг в OpenId Connect через наши компоненты OWIN, есть специальное уведомление, которое запускается, когда вы получаете код обратно, и которое вы можете обработать, чтобы погасить этот код. См. Образец по адресу https://github.com/AzureADSamples/WebApp-WebAPI-OpenIDConnect-DotNet и, в частности, Startup.auth.cs для демонстрации того, как это работает. Примечание: только что выпущенный RC значительно упростит код. Я все еще работаю над обновлением образца до исправного, вы можете взглянуть на ветку RCUpdate, чтобы увидеть, как идет работа. Однако то, что находится в главной ветке, работает, поэтому это должно вас разблокировать. HTH! Ура, В.

person vibronet    schedule 12.07.2014
comment
Привет, Витторио, только что был на WPC. Я попробую. - person Wesley; 20.07.2014