У меня есть служба приложений с мобильным приложением в облачной платформе Azure. Бэкэнд API сделан с использованием Простые API в Node.js. В той же группе ресурсов есть также SQL Server и база данных SQL. Клиентские приложения (Android, iOS и веб-приложение на Angular, PHP или Python) должны проходить проверку подлинности для вызова приложений API.
Я очень запутался в отношении механизмов аутентификации. Я хочу создать страницу входа для моих пользователей в iOS, Android и веб-приложении, но я не знаю, как разработать механизм аутентификации. Потенциальными пользователями будут все клиенты, которые скачивают мобильные приложения, и несколько премиум-клиентов.
Должен ли я выбрать решение Azure Active Directory или сделать свою реализацию, используя базу данных в качестве хранилища?
На самом деле мобильные приложения Azure в серверной части Node.js являются приложениями express.js, работающими в службах приложений Azure. И Mobile-Apps-SDK в промежуточном программном обеспечении express.js. Так что это зависит от ваших требований. Механизм проверки подлинности по умолчанию в mobile-apps-sdk реализован через аутентификацию шлюза Azure. Также вы можете реализовать свой собственный пользовательский аутентификации.
Если у вас есть контроль над мобильным приложением и вы хотите просто использовать обычные элементы управления входом в Facebook, Twitter, Google и Microsoft, то используйте шлюз Azure, доступный в мобильных приложениях Azure, чтобы получить токен для мобильных приложений. Для iOS, Android, Apache Cordova и Xamarin доступны элементы управления. Вы также можете сделать редирект, чтобы использовать Интернет. Вы можете обратиться к Добавьте аутентификацию в ваше приложение для Android
В противном случае вы можете настраивать аутентификацию и предоставлять собственный генератор токенов. Вы можете использовать стороннего поставщика аутентификации, такого как Auth0.
Вы можете обратиться к https://shellmonger.com/2015/10/06/azure-mobile-apps-nodejs-and-authentication/ для дополнительной информации.
Других решений пока нет …