Аутентификация Blazor WebAssembly

Я изучаю Blazor, и у меня возникли проблемы с аутентификацией. У меня есть базовый веб-API .net, и я хочу подключить к нему веб-сборку Blazor, но все учебные пособия, которые я нахожу, используют его, размещенные на основном хосте asp.net, в одном пакете. Насколько безопасна аутентификация при размещении на одном компьютере?


person John Baird    schedule 13.07.2020    source источник


Ответы (1)


использование Blazor WebAssembly с аутентификацией (также, если возможно) - не лучшая идея: обычно, когда вы пишете обычное клиент-серверное приложение, клиент собирает введенные пользователем данные и отправляет их на сервер. На сервере вы можете проверить правильность пароля (например, установить соединение с базой данных и проверить совпадение имени пользователя и пароля).

В Blazor WebAssembly весь код компилируется, генерируются dll, отправляются клиенту (с использованием технологии Web-Assembly) и запускаются внутри песочницы JavaScript. Это означает, что ВСЕ объекты доступны на стороне клиента и могут быть видны пользователю, поэтому все строки подключения также могут быть прочитаны.

Кроме того, если есть какие-то способы их замаскировать, на самом деле ни один из них не является безопасным на 100%.

Если вам не нужно иметь автономное приложение, я предлагаю вам использовать технологию Blazor Server, которая использует SignalR.

Однако, если вы действительно хотите реализовать аутентификацию в WebAssembly, вы можете взглянуть на документация Microsoft.

Надеюсь, это может быть полезно!

person KingOss    schedule 13.07.2020