Сопряжение устройств с облачными аккаунтами // OAuth2 - PullRequest
0 голосов
/ 27 марта 2020

У наших клиентов есть две вещи:

  1. Учетная запись в нашей облачной службе
  2. Часть аппаратного обеспечения (включая программное обеспечение на нем), которую они только что купили и которая работает на их территории

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

Что я предполагаю: оно должно работать аналогично Приложение Spotify на моем AppleTV подключено к моей учетной записи Spotify: шесть случайных символов (например, CX64BY) отображаются в приложении ApplyTV, и я получил указание от go до spotify.com/pairing. Я открываю эту страницу в браузере на моем iPhone, помещаю шесть символов в форму и все. Сопряжение выполнено.

Очевидно, вот как это работает в принципе:

  1. Приложение AppleTV регистрируется как "приложение без учетной записи с кодом CX64BY" на сервере Spotify и хранится в базе данных (возможно, с таймаутом в несколько минут)
  2. Когда я ввожу код в spotify.com/pairing, база данных запрашивается для кода, и, если найдено, приложение привязан к моей учетной записи (технически, поскольку Spotify использует OAuth2, access_token и refresh_token помещаются в приложение AppleTV).

Несмотря на понимание того, как это работает в принципе, может быть много подводных камней. Например, как защитить сервер от DOS, поскольку злоумышленники могут зарегистрировать миллионы «приложений без учетной записи» ?

Поэтому мой вопрос: есть ли хорошая документация такого рабочий процесс / технология (предпочтительно на основе OAuth2)?

...