Размещенное приложение UWP (Javascript) — аутентификация

согласно моим исследованиям, приложения, размещенные на UWP, должны иметь возможность использовать текущего пользователя для аутентификации в веб-службах/веб-страницах, если верно следующее:

Возможности:

  • Корпоративная аутентификация
  • Частная сеть (клиент и сервер)
  • Интернет-клиент

Однако - я испытываю следующее:

  • If I disable anonymous authentication on the webpage:
    • The Hosted-App tries to load the page, gets a 401 (with "WWW-Authentication: Negotiate and WWW-Authentication: NTLM) and then.....just sits there and does nothing (no login dialog, no error, just displays the splash-screen)
  • If I enable anonymous authentication, but [Authorize] my controllers:
    • The initial page loads OK (of course...there is no authentication)
    • Первые вызовы веб-сервиса покажут диалог входа в систему, последующие вызовы в порядке.

Итак - мои вопросы:

  • возможно ли то, что я хочу (автоматически использовать текущего вошедшего в систему пользователя для аутентификации)?
  • Если да - в чем может быть моя проблема?

заранее спасибо

Йоханнес Колмзее

Обновлять:

Кажется, что (все наблюдения, которые я сделал за последний час - все нижеследующие - "с удаленного ПК, подключенного к хост-компьютеру"):

  • у меня сбились настройки Kerberos (если установить Forefront - он настроит все так, что это работает, но больше ничего....
  • После исправления - я могу подключиться к странице с "обычными браузерами"
  • However - if I try it from the UWP-App, this happens:
    • if I use the IP-Adresse - after the first "401" response of the server....nothing
    • если я использую "Имя хоста" (не полное доменное имя) - 3 раза связывается с сервером (3x 401) - после этого диалоговое окно должно появиться, но его нет.
    • К сожалению, я не могу использовать полное доменное имя (некоторая проблема с разрешением имени idk...)

И IP-адрес, и имя хоста отлично работают в «обычных браузерах». Я не могу попробовать HTTPS прямо сейчас (браузеры я могу заткнуться о проблемах с сертификатами, UWP-хостинг я не могу)

Теперь.... некоторые наблюдения по "локальному" соединению:

  • Имя хоста: текущий пользователь подбирается автоматически
  • локальный хост: тот же
  • IP-адрес: находится на заставке

В этом сценарии я не могу смотреть сетевой трафик (без скрипача или других средств).

Больше информации завтра может быть.


person J. Colmsee    schedule 30.11.2018    source источник
comment
Может ли ваш текущий пользователь успешно войти в систему?   -  person Nico Zhu - MSFT    schedule 03.12.2018
comment
Когда я ввожу своего текущего пользователя в диалоговое окно входа в систему, которое появляется, когда я делаю вызовы WebAPI, - да. Проблема в том, что он не используется автоматически   -  person J. Colmsee    schedule 03.12.2018
comment
Вы имеете в виду, что вам нужно каждый раз вводить имя пользователя и пароль, верно?   -  person Nico Zhu - MSFT    schedule 03.12.2018
comment
В первый раз я вызываю WebAPI Controller. Последующие вызовы будут использовать этого пользователя.   -  person J. Colmsee    schedule 03.12.2018
comment
Если я отключу анонимную аутентификацию, диалога входа в систему не будет, приложение просто сдастся после получения ответа 401 (что, кажется, в порядке ... заголовки WWW-Authenticate, отправленные из IIS, кажутся в порядке) (сдается при загрузке index.html)   -  person J. Colmsee    schedule 03.12.2018


Ответы (1)


У меня есть дополнительная информация по этой проблеме - она ​​может помочь другим решить свои проблемы - поэтому я добавляю ее как дополнительную запись вместо обновления.

После некоторого расследования я обнаружил, что у Edge также есть проблемы с загрузкой страниц.

в этом потоке есть некоторая информация для обхода/устранения проблемы:

https://social.technet.microsoft.com/Forums/de-DE/0face535-3c7a-4658-be34-6c376322ca34/microsoft-edge-cant-open-local-domains?forum=win10itpronetworking< /а>

для меня сработало помещение страницы в список «надежных сайтов» — после этого Edge загрузил страницу.

Насчет «автоматически использовать текущего пользователя» — опять же — проверьте его с помощью Edge — если Edge его не использует, то и ваше приложение не будет.

Для меня — при открытии страницы с «только именем компьютера» (по сравнению с полным доменным именем) использовался «текущий пользователь» как для Edge, так и для UWP-приложения.

Возможно, можно было бы настроить его таким образом, чтобы полное доменное имя также автоматически использовало «текущего пользователя».

Может последовать дополнительная информация.

person J. Colmsee    schedule 30.01.2019