Как мне спроектировать базу данных для хранения данных клиента OAuth2, сопоставленных данному пользователю с использованием MySQL и Spring-OAuth2? - PullRequest
0 голосов
/ 21 мая 2018

Фон

Я пытаюсь создать общедоступный API-интерфейс, который скрыт за рабочим процессом OAuth2.Я нашел примеры проектов баз данных с использованием JPA Repositories / Spring-OAuth2, который я использую.В основном у меня есть это приложение , которое в настоящее время использует проверку подлинности InMemory, которую я пытаюсь преобразовать для извлечения данных из базы данных с использованием репозиториев JPA и реляционной базы данных.

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

IE Я надеялся, что смогу разделить области видимости на отдельныетаблица, так что это будет так же просто, как добавление дополнительных областей, которые будут доступны для приложений позжеЯ также подумывал добавить поддержку для поддержки типов клиентов OAuth, таких как боты, веб-сайт, настольное приложение, мобильное приложение и т. Д.

Я предполагаю, что между oauth_approvals существует какая-то связь,oauth_refresh_token, oauth_client_token и oauth_client_details.Я также хочу убедиться, что можно подключить oauth-клиент к user.В конечном счете, я бы хотел, чтобы у них было несколько клиентов.

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

Что у меня сейчас есть

Я уверен, что это можно сделать лучше, если да, то как?

current ER Diagram

Вопросы

  • Как правильно установить взаимосвязь между различными компонентами oauth-клиента?
  • Как я могу сделать это так, чтобы я правильно разрешил пользователю иметь много клиентов?
  • Как бы я мог динамически получать клиента из базы данных, или это обрабатывается через ClientDetailsServiceConfigurer.jdbc()?
  • Как я могу добавить типы клиентов в поток?

Если у вас есть дополнительные вопросы, дайте мне знать, и я буду более чем рад обновить моивопрос.

...