Я хочу переопределить Azure AD SSO логин для MVC веб-приложения. Я не хочу выходить из приложения в процессе, но требую входа в систему в целях безопасности. Я использую OAuth2.0 с OID C через Owin для аутентификации.
Я пытаюсь использовать параметр запроса prompt = login, что теоретически должно помочь. Я нашел ссылку на Github, которая недавно стала доступна в Core, но не могу отследить, как это сделать в MVC5.2
Возможно ли это сделать в Application Builder? Я пытался добавить .WithExtraQueryParameters ("prompt=login")
к ConfidentialClientApplicationBuilder
при получении кода доступа. Не повезло.
Есть ли другой обходной путь, если код не выходит из коробки?
РЕДАКТИРОВАТЬ: PublicClientApplication
позволяет .WithPrompt(Prompt.Login)
в то время как ConfidentialClientApplication
не позволяет (также не разрешает AcquireTokenInteractive
). Это веб-приложение, поэтому ему необходим конфиденциальный конструктор. Протестировано с помощью компоновщика Publi c, и он успешно входит в систему. Но я получаю ошибку инстанцирования ActiveX «не в однопоточной квартире» (?) Странно, разве что так может быть доставлен токен. Я также проверил, переключившись на мультитенант в Azure и включив и выключив клиент Publi c.
Есть идеи?