2017-01-12 10 views
0

Я пытаюсь использовать Owin и OpenIdConnect для аутентификации пользователей через активный каталог (офис 365 в Интернете). Я следил за этим example, и мне удалось создать новый тестовый проект MVC и заставить его работать. (Настройки для AD-приложения, арендатора, веб-конфигурации и т. Д. Все отлично).Owin OpenIdConnect Active Directory HttpContext.GetOwinContext не открывает страницу входа в систему microsoftonlin

Теперь я пытаюсь добавить эту функциональность в мое существующее приложение ASP.net mvc, и я не могу заставить работу dang работать.

Это то, что у меня есть: контроллер счета с «ничтожными» действиями, как это (из примера, который работает в моем PoC, но не в моем фактическом применении):

public void SignIn() 
    { 
     // Send an OpenID Connect sign-in request. 
     if (!Request.IsAuthenticated) 
     { 
      HttpContext.GetOwinContext().Authentication.Challenge(new AuthenticationProperties { RedirectUri = "/" }, OpenIdConnectAuthenticationDefaults.AuthenticationType); 
     } 
    } 

Когда это действие вызываются , Я ожидаю, что браузер будет перенаправлен на: login.microsoftonline.com ..., но вместо этого он открывает эту страницу: https://localhost:44301/Account/Login?ReturnUrl=%2fAccount%2fSignIn

Это как-то вроде как где-то перенаправлять, и я не вижу, где.

Помощь!

ответ

0

Я нашел ответ. Я должен был сделать 2 вещи:

  1. Удалите WebMatrix библиотеки DLL из ссылок (видимо NuGet пакет для MVC положил его туда, так что он может вернуться)
  2. Выкрутить аутентификации режим = «Форма» из web.config

Спасибо.