Какие технические детали следует учитывать программистам при разработке собственного сервиса oAuth? - PullRequest
8 голосов
/ 23 февраля 2020

Какие технические подробности следует учитывать программистам при разработке собственной службы oAuth?

Пытались найти рекомендации, но обнаружили, что большинство статей, связанных с oAuth, обсуждаются в качестве потребителя. точка зрения ( т.е. как пользоваться услугами других ). Я хочу создать свою собственную систему oAuth с моей службой авторизации и службой ресурсов. Каким техническим деталям я должен следовать?

Ответы [ 2 ]

4 голосов
/ 02 марта 2020

Вы, вероятно, прочитали RFC, но на всякий случай вы можете начать с них:

  1. oAuth 2.0 "core" (RFC 6749 и 6750 )
  2. Пробный ключ для обмена кодами (PKCE) (RF C 7636 )

Лучшая упаковка «Руководство по реализации oAuth (клиент или иное) доступно через IETF Best Current Practices (BCP). Большинство людей знают о RFC IETF и (смущающе) BCP публикуются как RFC с номером RF C. Несмотря на это, это лучшие практики и не формальные спецификации :

Процесс BCP аналогичен таковому для предлагаемых стандартов. BCP передается в IESG для проверки, и применяется существующий процесс проверки, включая «последний звонок» в списке рассылки объявлений IETF. Однако, как только IESG утвердит документ, процесс заканчивается, и документ публикуется. Полученный документ рассматривается как имеющий техническое одобрение IETF, но это не так, и он не может стать официальным стандартом Inte rnet.

ППГ, которые вы хотите просмотреть:

  1. oAuth security (актуально на момент написания этой статьи)
  2. oAuth для браузерных приложений (актуально на момент написания данной статьи).
  3. oAuth для нативных приложений (опубликовано в 2017 году как обновление для «ядра» oAuth 2.0 RF C, все еще хорошее чтение)
  4. JSON Веб-токены для oAuth (в актуальном состоянии)

Эти документы оформлены в терминах модели угроз - они охватывают атаки (или "соображения безопасности" в качестве разбавленного формата) и контрмеры. Возможно, вы ищете более простой тип строительных блоков дорожной карты, и, возможно, он должен быть в качестве учебного пособия. Реальные реализации oAuth должны быть разработаны с использованием prima fa cie свидетельства модели угрозы.

Как сказал один самурай : ... фехтование, не проверенное в битва подобна искусству плавания, освоенному на суше.

2 голосов
/ 03 марта 2020

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

Но, если оставить в стороне, есть проект с открытым исходным кодом, который делает именно то, что вы просите - Identity Server . Вы можете проверить их исходный код или разветвить его и построить что-нибудь поверх него.

Также, пожалуйста, проверьте ответ "identigral" в различных документах.

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