Nano Hash - криптовалюты, майнинг, программирование

Примеры использования OAuth2.0

Я строю muli-tenant saas(software as a service) architecture. Я должен построить authentication system для системы.

Из того, что я изучил, я думаю, мне нужно построить систему аутентификации на основе OAuth2.0 и токена-носителя с JWT tokens.

После того, как я много прочитал о OAuth2.0 о том, как создать сервер OAuth2.0, я все еще didn't understand full concept of OAuth, а также не понимаю, нужно мне это или нет, или мне нужна какая-то другая система аутентификации.

Моя система нуждается в том, чтобы мы предоставили SDK всем нашим клиентам, и каждый клиент будет иметь Application Id и a secret key, используя клиент SDK, который будет подключаться к его приложению, присутствующему в нашей системе.

application ID будет сопоставлять клиента с его приложением, присутствующим в нашей системе, а client secret key будет аутентифицировать клиента внутри приложения. Мне все еще нужно создать систему аутентификации на основе OAuth2.0, или я могу создать свою собственную систему аутентификации на основе наших потребностей ?

Каковы варианты использования OAUTH2.0 и когда он нам не нужен?


Ответы:


1

Во-первых, как четко указано в аутентификации OAuth

OAuth 2.0 не является протоколом аутентификации.

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

Однако OAuth ничего об этом не сообщает приложению.
OAuth абсолютно ничего не говорит о пользователе и не говорит, как пользователь доказал свое присутствие и даже если он все еще там.
Что касается OAuth. клиент обеспокоен, он запросил токен, получил токен и в конечном итоге использовал этот токен для доступа к некоторому API. Ему ничего не известно о том, кто авторизовал приложение и был ли там вообще пользователь.

Существует стандарт аутентификации пользователей с использованием OAuth: OpenID Connect, совместимый с OAuth2.

Токен идентификатора OpenID Connect ID представляет собой подписанный веб-токен JSON (JWT), который передается клиентскому приложению вместе с обычным токеном доступа OAuth.
ID Token содержит набор утверждений о сеансе аутентификации, включая идентификатор пользователя (sub), идентификатор для удостоверения провайдер, выпустивший токен (iss), и идентификатор клиента, для которого этот токен был создан (aud).

В Go вы можете посмотреть coreos/dex, идентификатор OpenID Connect (OIDC) и поставщик OAuth 2.0 с подключаемым соединителем.

02.05.2016
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..