Повторное использование учетных данных в серверном приложении Blazor при создании PDF с помощью puppeteersharp - PullRequest
0 голосов
/ 07 мая 2020

У меня есть серверное веб-приложение Blazor, размещенное в Azure Appservice (Linux). Пользователи входят в систему с учетными данными azureAD, и при входе в систему они могут нажать sh кнопку для создания PDF-файла страницы отчета с помощью puppeteersharp (использует Chrome headless под капотом). Конфигурация аутентификации Blazor основана на встроенном шаблоне от Microsoft.

Все это работало, пока я не активировал Azure аутентификацию AD, проблема в том, что теперь Puppeteersharp (Chrome headless) не может получить доступ к URL-адресу отчета (на том же сайте) для создания PDF-файла, поскольку он не аутентифицирован.

У меня есть зарегистрированный пользователь, как я могу повторно использовать accesstoken из пользовательского сеанса в Puppeteersharp / Chrome headless?

В Puppeteersharp вы можете установить дополнительный HTTP-заголовок (page.SetExtraHttpHeadersAsyn c), не должен ли я получить доступ к пользовательским сеансам и добавить его в качестве токена-носителя в заголовок? Как мне тогда получить доступ к accesstoken?

Другой вариант, возможно, - использовать page.SetCookieAsyn c () в puppeteersharp, но я не могу получить ie повара из httpcontext в любом значимом формате , он разбит на 4 части и выглядит так, как будто он зашифрован.

Пожалуйста, посоветуйте, здесь действительно запутались.

...