Как аутентифицировать веб-приложение с помощью токена

Я пытаюсь создать веб-тест, который будет аутентифицировать веб-сайт с помощью токена и загружать веб-страницу.

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

Но так как сайт использует активный каталог, он использует 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
Другие вопросы по тегам