Как аутентифицировать веб-приложение с помощью токена
Я пытаюсь создать веб-тест, который будет аутентифицировать веб-сайт с помощью токена и загружать веб-страницу.
Поскольку веб-тест будет выполняться без какого-либо ручного взаимодействия, я не могу войти в систему. Поэтому я пытаюсь аутентифицироваться с использованием токена.
Но так как сайт использует активный каталог, он использует UseOpenIdConnectAuthentication
а также UseCookieAuthentication
для аутентификации при доступе через браузер.
Есть ли способ создать такой веб-тест?
1 ответ
Я пытаюсь создать веб-тест, который будет аутентифицировать веб-сайт с помощью токена и загружать веб-страницу.
Но поскольку веб-сайт использует активный каталог, он использует UseOpenIdConnectAuthentication и UseCookieAuthentication для аутентификации при доступе через браузер.
Согласно вашему описанию, я предполагал, что вы можете использовать пакет https://www.nuget.org/packages/Microsoft.Owin.Security.OpenIdConnect и https://www.nuget.org/packages/Microsoft.Owin.Security.Cookies для защиты вашего приложения с помощью OpenId Connect и Azure AD.
Предполагая, что ваш веб-сайт размещен в веб-приложении Azure, я предполагаю, что вы можете использовать Аутентификацию и авторизацию в службе приложений Azure и настроить Аутентификацию в Azure AD вместо использования промежуточного программного обеспечения вручную в своем коде. Но вы можете проверить текущую среду в своем коде и использовать промежуточное программное обеспечение для локальной аутентификации.
Чтобы получить аутентифицированный токен из веб-приложения Azure, вы можете получить доступ к следующему URL через браузер для регистрации:
https://{your-app-name}.azurewebsites.net/.auth/login/aad
После входа вы будете перенаправлены на URL следующим образом:
https://{your-app-name}.azurewebsites.net/.auth/login/done#token={token}
Вы могли бы URL Расшифровать выше token
, получить authenticationToken
в качестве аутентифицированного токена для доступа к веб-приложению Azure:
https://{your-app-name}.azurewebsites.net/xxx/xxx
Header: x-zumo-auth:{authenticationToken}
Примечание: authenticationToken
истекает через час.
Кроме того, для Azure Active Directory вы также можете использовать id_token
или же access_token
быть непосредственно включены в Authorization
Заголовок как токен на предъявителя выглядит следующим образом:
https://{your-app-name}.azurewebsites.net/xxx/xxx
Header: Authorization:Bearer {id_token or access_token}
Примечание: чтобы получить id_token
или же access_token
после входа вы можете получить доступ к следующему URL через браузер:
https://{your-app-name}.azurewebsites.net/.auth/me