OAuth2 для мобильных приложений с простейшей клиент-серверной архитектурой? - PullRequest
0 голосов
/ 20 апреля 2020

У нас есть классическая C -S (клиент-серверная) архитектура, то есть мобильное приложение и бизнес-сервер. У нас есть наша собственная система учетных записей (без использования сторонних учетных записей, таких как учетная запись Google / Facebook). Я знаю Я должен использовать OAuth2 для аутентификации. Проблема в том, как мне реализовать это ?

Есть две вещи, которые я не нашел в Inte rnet:

  1. Мы используем нашу собственную систему учетных записей - нет учетной записи Google / Facebook .
  2. Пользователь должен ввести свой пароль в пользовательском интерфейсе приложения native , а не на веб-странице браузера, встроенной в приложение.

Вопросы:

  1. Я думаю, что мы можем использовать режим «Предоставление пароля владельца ресурса». Пользователь вводит пароль в собственном пользовательском интерфейсе, затем мы собираем и отправляем HTTPS-запрос на сервер и т. Д. c. Но я видел людей, которые говорили, что это небезопасно ... Так что я должен использовать это?
  2. Если мы должны использовать режим "кода авторизации", как я позволю пользователю вводить свой пароль в собственный пользовательский интерфейс?

Большое спасибо!

ps Если у нас нет собственной системы учетных записей и мы просто полагаемся на учетную запись Google / Facebook тогда все просто. Мы можем просто использовать любой блог или статью или ответ на Inte rnet. Однако нам нужна наша собственная система учета .

1 Ответ

1 голос
/ 20 апреля 2020

Поток владельца ресурса считается небезопасным при использовании сторонней аутентификации, например, ваше мобильное приложение пытается получить доступ к файлу в Dropbox пользователя или к электронной почте Gmail. Если вы владеете всеми частями системной учетной записи, ресурсами и приложением, вы должны быть в безопасности с потоком паролей владельца ресурса.

Это гораздо более простой поток, однако он имеет некоторые недостатки. Как будто вы не сможете выполнять федерацию с другими сторонними или корпоративными системами, и вы не сможете воспользоваться одним входом. Если ни один из них не относится к вам go вперед и используйте поток пароля владельца ресурса.

Хорошее лечение по этому вопросу можно найти здесь: https://auth0.com/blog/oauth-2-best-practices-for-native-apps/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...