Как предоставить доступ к мобильным и веб-приложениям одному приложению Restful API - PullRequest
1 голос
/ 23 апреля 2020

Я планирую написать веб-приложение vue, которое обращается к бэкэнду через API. Веб-приложение само по себе имеет внешний интерфейс и серверную часть, которая требует входа в систему. Я намерен предоставить API-доступ к веб-приложению, приложению android и приложению ios. Вопрос в том, как мне предоставить бэкэнд-разрешение на указание c приложений на разных платформах без использования oAuth, authO или Okta. Может ли JWT работать в таких случаях?

1 Ответ

0 голосов
/ 24 апреля 2020

JWT ДЛЯ АУТЕНТИФИКАЦИИ

Вопрос в том, как мне предоставить бэкэнд-разрешение на указание c приложений на разных платформах без использования oAuth, authO или Okta.

Auth0 и Okta являются провайдерами аутентификации, которые используют OAuth2 и / или OpenID Connect стандарты для аутентификации пользователей, и в результате получается токен JWT, точнее, подписанный JWT, который известен JWS :

A JSON Web Signature (abbreviated JWS) is an IETF-proposed standard (RFC 7515) for signing arbitrary data. 
This is used as the basis for a variety of web-based technologies including JSON Web Token.

Может ли JWT работать в таких случаях?

Да, вам просто нужно найти правильные пакеты для использования на вашем API-сервере и во внешнем интерфейсе.

Помнить, что Аутентификация пользователя идентифицирует только Кто находится в запросе, а не Что выполняет запрос, и по своему опыту я вижу, что это распространенное заблуждение среди разработчиков, независимо от того, младшие или старшие.

Разница между тем, кто и что такое доступ к вашему API-серверу

Я написал серию статей , посвященных API и безопасности для мобильных устройств, и в статье Зачем вашему мобильному приложению нужен ключ API? I go более подробно о разнице между Who и What обращается к вашему API-серверу:

what это вещь, которая делает запрос к серверу API. Действительно ли это подлинный экземпляр вашего мобильного приложения, или это бот, автоматизированный скрипт или злоумышленник, который вручную копается в вашем API-сервере с помощью такого инструмента, как Postman?

who пользователь мобильного приложения, которое мы можем аутентифицировать, авторизовать и идентифицировать несколькими способами, например, используя OpenID Connect или потоки OAUTH2.

Я надеюсь, что после его прочтения вы теперь понимаете, что Кто является пользователем, ваш сервер API сможет аутентифицировать и авторизовать доступ к данным, и что What - это программное обеспечение, выполняющее этот запрос от имени пользователя.

БЛОКИРОВКА СЕРВЕРА API ДЛЯ SPECIFI C APPS

Я намерен предоставить API-доступ к веб-приложению, приложению android и приложению ios. Вопрос в том, как я могу предоставить бэкэнд-разрешение на указание c приложений на разных платформах без использования oAuth, authO или Okta.

Хорошо, вы купили себе сложную задачу, но мы, разработчики, любим задачи не так ли;)

Хотя аутентификация пользователя может дать знать серверу API Кто использует API, он не может гарантировать, что запросы были получены от What вы ожидаете, оригинальной версии вашего мобильного приложения или веб-приложения, и к вашему удивлению вы можете обнаружить, что иногда ваши собственные пользователи git могут пытаться обойти ваши сервисы и использовать перепакованные версии вашего мобильного приложения или автоматизированные сценарии для иметь доступ к функциям или преимуществам, которых у них не было бы в противном случае.

Чтобы защитить свой API-сервер, вам необходимо применять глубокую защиту, используя столько слоев, сколько вы можете себе позволить (как это было в замках в прошлые века). ) и может потребоваться по закону или в соответствии с c правилами рынка.

Для веб-приложений

В контексте веб-приложения вы можете последовать моему совету по этому ответу на вопрос защитить данные API от вызовов приложения , в частности, раздел, озаглавленный ЗАЩИТА СЕРВЕРА API .

Для мобильных приложений

Для мобильных приложений сервер API может больше доверять Что делает запрос, когда используется концепция аттестации мобильных приложений, и вы можете прочитать этот ответ Я задал вопрос Как защитить API REST для мобильного приложения ? чтобы иметь больше деталей. Вы обязательно прочтете раздел Защита API-сервера и раздел Возможное лучшее решение .

ВЫ ХОТИТЕ GO ДОПОЛНИТЕЛЬНУЮ МИЛЬУ?

В любом ответе, который я дал на секретный вопрос, я всегда хотел бы сослаться на отличную работу фонда OW ASP, которая может помочь вам укрепить безопасность вашего приложения и серверов.

Для веб-приложений

OW ASP Топ 10 веб-рисков

Топ 10 OW ASP является мощным информационным документом для безопасности веб-приложений. Он представляет широкий консенсус в отношении наиболее критических угроз безопасности для веб-приложений. В число участников проекта входят различные эксперты по безопасности со всего мира, которые поделились своими знаниями для составления этого списка.

Руководство по тестированию веб-безопасности :

Руководство по тестированию веб-безопасности OW ASP включает в себя среду для тестирования на проникновение "передовой опыт", которую пользователи могут внедрять в своих организациях, и руководство по тестированию на проникновение "низкого уровня", в котором описываются методы тестирования наиболее распространенных веб-приложений и безопасности веб-служб проблемы.

Для мобильных приложений

OW ASP Проект Mobile Security - 10 основных рисков

OW ASP Mobile Security Project - это централизованный ресурс, предназначенный для того, чтобы предоставить разработчикам и командам безопасности ресурсы, необходимые для создания и поддержки защищенных мобильных приложений. В рамках проекта наша цель состоит в том, чтобы классифицировать риски для безопасности мобильных устройств и обеспечить средства управления развитием, чтобы уменьшить их влияние или вероятность эксплуатации.

OW ASP - Руководство по тестированию мобильной безопасности :

Руководство по тестированию безопасности мобильных устройств (MSTG) - это всеобъемлющее руководство по разработке, тестированию и реверс-инжинирингу безопасности мобильных приложений.

Для APIS

OW ASP API Security Top 10

OW ASP API Security Project стремится обеспечить ценность разработчикам программного обеспечения и оценщикам безопасности, подчеркивая потенциальные риски в небезопасных API, и иллюстрирующий, как эти риски могут быть смягчены. Для достижения этой цели в рамках проекта безопасности API OW ASP будет создан и поддержан документ «Топ 10 угроз безопасности API», а также портал документации для рекомендаций по созданию и оценке API.

...