У меня есть приложение, которое использует Auth0 https://auth0.com/ в качестве провайдера входа и могу войти через нескольких провайдеров - Facebook, LinkedIn, Google, MS и Apple. Все это происходит на стороне клиента, и я получаю идентификатор и токены доступа от соответствующего сервиса. Без ошибок.
Мое приложение подключается к Azure Службам приложений с использованием Microsoft. WindowsAzure .MobileServices API Я использую это для создания подключения к службе:
client = new MobileServiceClient(https://mycompany.azurewebsites.net);
Приложение может затем синхронизировать c данные между локальной базой данных SQLite и моей Azure SQL дБ. Это все работает, без ошибок.
ПРОБЛЕМА - конечная точка https://mycompany.azurewebsites.net установлена с анонимным доступом и не защищена.
Я могу включить аутентификацию службы приложений и реализовать что-то вроде этого для большинства сервисов аутентификации, передавая уже полученные токены от логина:
task = Task.Run(async () => await client.LoginAsync(MobileServiceAuthenticationProvider.Facebook, AccessToken));
user = task.Result;
Это хорошо для аутентификации MS, Facebook и Google, НО в API для LinkedIn или Apple ничего нет.
Требуется сертификация Apple и логин Apple, ЕСЛИ пользователю также доступны варианты входа в систему других провайдеров.
Вопрос: Как защитить службу приложения Azure в Node.js принять идентификатор приложения и / или пароль или токен, которые я могу предоставить со стороны клиента как константу, чтобы просто разрешить обобщенный c, но несколько безопасный доступ к этому URL: https://mycompany.azurewebsites.net и НЕ иметь этот набор с анонимным доступом? И НЕ ИСПОЛЬЗУЙТЕ ограниченную аутентификацию службы приложений.
Может кто-нибудь пролить свет на это? Это основной блок в окончательном прогрессе с приложением.
Я сталкивался с этим, но мне нужно кое-что Node.js И Azure Спецификация службы приложения c. Azure Мобильные сервисы, HttpClient, Авторизация
Спасибо