Я изучаю Blazor, и у меня возникли проблемы с аутентификацией. У меня есть базовый веб-API .net, и я хочу подключить к нему веб-сборку Blazor, но все учебные пособия, которые я нахожу, используют его, размещенные на основном хосте asp.net, в одном пакете. Насколько безопасна аутентификация при размещении на одном компьютере?
Аутентификация Blazor WebAssembly
Ответы (1)
использование Blazor WebAssembly с аутентификацией (также, если возможно) - не лучшая идея: обычно, когда вы пишете обычное клиент-серверное приложение, клиент собирает введенные пользователем данные и отправляет их на сервер. На сервере вы можете проверить правильность пароля (например, установить соединение с базой данных и проверить совпадение имени пользователя и пароля).
В Blazor WebAssembly весь код компилируется, генерируются dll, отправляются клиенту (с использованием технологии Web-Assembly) и запускаются внутри песочницы JavaScript. Это означает, что ВСЕ объекты доступны на стороне клиента и могут быть видны пользователю, поэтому все строки подключения также могут быть прочитаны.
Кроме того, если есть какие-то способы их замаскировать, на самом деле ни один из них не является безопасным на 100%.
Если вам не нужно иметь автономное приложение, я предлагаю вам использовать технологию Blazor Server, которая использует SignalR.
Однако, если вы действительно хотите реализовать аутентификацию в WebAssembly, вы можете взглянуть на документация Microsoft.
Надеюсь, это может быть полезно!