какие преимущества дает использование OAuth 2.0 вместо собственного сервера аутентификации / авторизации Spring без сторонних клиентов? - PullRequest
0 голосов
/ 24 октября 2019

Я хочу разработать веб-приложение (REST API) с использованием Spring, и для аутентификации / авторизации я думаю об использовании OAuth 2.0, но я не уверен, является ли OAuth хорошим вариантом или нет.

некоторая информация о моем приложении:

1 - полностью RESTful API.

2 - микросервисная архитектура.

3 - использование API для обеих веб-страниц (возможно, SPA) имобильные приложения (android и ios).

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

на основании предоставленной информации, является ли хорошей идеей использование OAuth вместо пользовательского сервера аутентификации / авторизации Spring с JWT? если да, каковы преимущества?

1 Ответ

0 голосов
/ 24 октября 2019

некоторые недостатки и преимущества из моего прошлого опыта:

Недостатки:

  1. Полезная нагрузка аутентификации OAUTH будет содержать: имя пользователя, пароль, grant_type, client_secret и client_id . Последние два предназначены для стороннего входа в систему, имеют ли они смысл для вашего приложения и клиентов?
  2. Spring OAUTH - мощная библиотека, которая будет много чего делать за кулисами. Если вам потребуется нестандартное поведение, поиск правильных хуков будет немного сложнее.
  3. Время разработки заняло больше времени (и у клиента, и у сервера) по сравнению с простым входом в систему по имени пользователя / паролю.

Преимущества:

  1. Протокол хорошо задокументирован, поэтому при документировании приложения у вас будет меньше накладных расходов.
  2. Будет проще интегрироваться с третьими сторонами (если когда-либо будеттребуется).

PS На начальном этапе итерации вы можете начать с простого входа и добавить стороннюю интеграцию (обе могут работать вместе)

...