Единый вход не работает в проекте vb.net - PullRequest
0 голосов
/ 01 сентября 2018

У меня есть проект VB.net с аутентификацией Windows. Я намереваюсь преобразовать аутентификацию в SSO с корпоративным активным каталогом. Я просмотрел несколько страниц Stackoverflow, а также несколько блогов и видео на Youtube. Я почти там сейчас. И нужна твоя помощь на последнем шаге.

Я создал новый проект MVC (для проверки единого входа) и выбрал аутентификацию в качестве «рабочей учетной записи». И SSO работает отлично. Затем я скопировал настройки web.config и код startup.auth.vb. Удалено несколько ошибок, которые я получил изначально. Теперь мое веб-приложение (asp.net MVC) запускается, но все равно показывает идентификатор пользователя Windows. Он просто не запрашивает детали AD. Я отлаживал два проекта параллельно (мой оригинальный, тестовый SSO один). В тестовом проекте SSO приложение запрашивает детали AD после следующей строки. Однако в моем первоначальном проекте этого не произошло.

app.UseOpenIdConnectAuthentication(New OpenIdConnectAuthenticationOptions() With {
          .ClientId = clientId,
          .Authority = Authority,
          .PostLogoutRedirectUri = postLogoutRedirectUri,
          .Notifications = New OpenIdConnectAuthenticationNotifications() With {
            .AuthorizationCodeReceived = Function(context)
                                             Dim code = context.Code
                                             Dim credential As New ClientCredential(clientId, appKey)
                                             Dim signedInUserID As String = context.AuthenticationTicket.Identity.FindFirst(ClaimTypes.NameIdentifier).Value
                                             Dim authContext As New AuthenticationContext(Authority, New ADALTokenCache(signedInUserID))
                                             Dim result As AuthenticationResult = authContext.AcquireTokenByAuthorizationCodeAsync(code, New Uri(HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Path)), credential, graphResourceId).Result

                                             Return Task.FromResult(0)
                                         End Function
          }
        })

Любая помощь высоко ценится. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...