Невозможно пройти проверку подлинности с Azure AD, теряется повар ie, а при перенаправлении нет разрешений - PullRequest
0 голосов
/ 01 февраля 2020

Честно говоря, у меня кошмар с этим.

У меня есть репо с https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/1-WebApp-OIDC, который должен настроить Azure AD и Open Id с ASP Core 3.0 ,

Я использую Azure для развертывания приложения, используя ASP Core 3.0 MVC. Я внедрил вышеупомянутое хранилище в свое решение, которое должно заботиться обо всем в файле startup.cs, мой localhost работает абсолютно нормально.

Запуск такой же, как у решения 1-WebApp-OID C ( кроме регистрации и связанных с DI регистраций).

Приложение зарегистрировано на портале Azure, идентификатор арендатора и идентификатор клиента в порядке, там также есть правильные перенаправления. Аутентификация службы приложений также отключена (я читал, что это может быть проблемой, так как многие решили эту проблему, отключив ее). Также Home, у контроллера Index есть атрибут [Authorize].

Теперь, когда дело доходит до развертывания, я продолжаю получать; У вас нет разрешения на просмотр этого каталога или страницы. ' На моем / signin-oid c URL перенаправления. Просто чтобы заметить, что я получаю это сообщение, даже когда не использую библиотеку классов openidconnect.

Если я go до https://mysite.azurewebsites.net/.auth/login/aad/callback - я получаю 'У вас есть Вы успешно вошли на страницу «со ссылкой« Вернуться на сайт ». После нажатия вернитесь к тому же сообщению, что и выше.

Я также получаю токен от https://mysite.azurewebsites.net/.auth.me - прочитал . NET Базовое приложение с Azure Аутентификация службы приложений , но он смог пройти через логин и просто не получил правильные идентификационные данные.

Теперь .. когда я проверяю Azure при входе в домен, он показывается как успешный. Затем я захожу в Kudu, чтобы проверить журналы (в ... / приложении) с противоречиями.

В журналах диагностики написано:

2020-02-01 10:32:19.279 +00:00 [Debug] Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware: Request did not match any endpoints
2020-02-01 10:32:19.279 +00:00 [Debug] Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler: AuthenticationScheme: AzureADCookie was not authenticated.

Другой набор журналов, которые генерируют guid для каждое сеансное шоу:

2020-02-01T10:32:01  PID[3780] Verbose     Received request: GET https://mysite.azurewebsites.net/
2020-02-01T10:32:01  PID[3780] Information Redirecting: https://login.windows.net/89f3808f-0cff-4297-b17a-313007c7b8a6/oauth2/authorize?response_type=id_token&redirect_uri=https%3A%2F%2Fmysite.azurewebsites.net%2F.auth%2Flogin%2Faad%2Fcallback&client_id=f70bd4d6-3cb3-463e-9fca-974053e2f177&scope=openid+profile+email&response_mode=form_post&nonce=6f1c5c8d07f5481193439dd95c3cf03b_20200201103701&state=redir%3D%252F
2020-02-01T10:32:02  PID[3780] Verbose     Received request: POST https://mysite.azurewebsites.net/.auth/login/aad/callback
2020-02-01T10:32:02  PID[3780] Verbose     JWT validation succeeded. Subject: 'C6JYPu8NBYT8sC-s6G33w6sxNkct28RdeeyfL1SndjA', Issuer: 'https://sts.windows.net/89f3808f-0cff-4297-b17a-313007c7b8a6/'.
2020-02-01T10:32:02  PID[3780] Information Login completed for 'DanADLogin@company.com'. Provider: 'aad'.
2020-02-01T10:32:02  PID[3780] Verbose     Writing 'AppServiceAuthSession' cookie for site 'mysite.azurewebsites.net'. Length: 920.
2020-02-01T10:32:02  PID[3780] Information Redirecting: https://mysite.azurewebsites.net/
2020-02-01T10:32:02  PID[3780] Verbose     Received request: GET https://mysite.azurewebsites.net/
2020-02-01T10:32:02  PID[3780] Verbose     Found 'AppServiceAuthSession' cookie for site 'mysite.azurewebsites.net'. Length: 920.
2020-02-01T10:32:02  PID[3780] Verbose     Authenticated DanADLogin@company.com successfully using 'Session Cookie' authentication.
2020-02-01T10:32:19  PID[3780] Verbose     Received request: POST https://mysite.azurewebsites.net/signin-oidc
2020-02-01T10:32:19  PID[3780] Verbose     Found 'AppServiceAuthSession' cookie for site 'mysite.azurewebsites.net'. Length: 920.
2020-02-01T10:32:19  PID[3780] Information Sending response: 403.60 Forbidden
2020-02-01T10:32:19  PID[3780] Warning     Cross-site request forgery detected for user 'DanADLogin@company.com' from referer 'login.microsoftonline.com'!
2020-02-01T10:32:19  PID[3780] Verbose     Received request: GET https://mysite.azurewebsites.net/favicon.ico
2020-02-01T10:32:19  PID[3780] Verbose     Found 'AppServiceAuthSession' cookie for site 'mysite.azurewebsites.net'. Length: 920.
2020-02-01T10:32:19  PID[3780] Verbose     Authenticated DanADLogin@company.com successfully using 'Session Cookie' authentication.

Очевидно, что повар ie где-то теряется, я читал о перенаправлении l oop, которое мешает файлам cookie из ядра и файлам cookie из открытого идентификатора. Я исчерпал переполнение стека и другие статьи, но безрезультатно.

Есть одна проблема, которая очень похожа, но при использовании Google Auth - Запрос refre sh token не выполняется. Нет refre sh token были найдены в магазине токенов . Это не работает для AAD.

Я действительно не в состоянии что-то делать, я выстоял достаточно долго и думаю, что могу go сойти с ума, если потрачу на это еще один день. Я уверен, что это не может быть так сложно ?.

Любая помощь или руководство будут с благодарностью.

1 Ответ

0 голосов
/ 03 февраля 2020

Очевидно, большой интерес lol ...

Это вообще не имело ничего общего с Azure AD или OpenId.

Это был вызов БД в моем слое данных, который вызывал внешний БД в моем домашнем контроллере (не в Azure), который вызывал все эти проблемы.

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