Рубрика «oauth2»

У нас есть корпоративные MCP-серверы, AI-агент и пользователи в Telegram. Каждый пользователь должен авторизоваться через Keycloak, а агент — работать от его имени. Здесь собраны грабли, на которые мы наступили, и архитектурные решения, к которым пришли.

Кому это будет полезно

Если вы:

  • Прикручиваете OAuth/OIDC к чему-то, что на это не рассчитано

  • Строите мультитенантного AI-агента, где у каждого пользователя свои права

  • Пытаетесь подружить MCP-серверы с корпоративным IdP

  • Пишете кастомные ноды для n8n

Исходная архитектура

Читать полностью »

Идентификация, аутентификация, авторизация

Идентификация — это заявление о том, кем вы являетесь. В зависимости от ситуации, это может быть имя, адрес электронной почты, номер учетной записи, и так далее.

Аутентификация — предоставление доказательств, что вы на самом деле есть тот, кем идентифицировались (от слова “authentic” - истинный, подлинный). В качестве доказательства может использоваться паспорт, для подтверждения личности в банке, либо ввод пароля на сайте.

Авторизация — проверка, что вам разрешен доступ к запрашиваемому ресурсу.

Виды авторизации

Про OAuth 2.0 уже написано немало статей, в том числе на Хабре, но у этих статей есть особенность - в то время как после основного RFC 6749 вышло несколько дополнительных RFC, расширяющих, объясняющих и дополняющих основной RFC, обычно описывают только базовую спецификацию. Это не говорит, что статьи плохие - наоборот, они полезны. Но хотелось бы сделать обзор вообще всего, что можно отнести к OAuth 2.0, более того часть их них рекомендована к использованию. Поэтому в данной статье попробую кратко описать большинство спецификаций, которые относятся к OAuth 2.0.

The OAuth 2.0 Authorization Framework

Читать полностью »

Мы привыкли доверять приложениям, которые установили на свои гаджеты. Порой обоснованно, порой не очень. Если посмотреть документацию на API авторизации какого-нибудь крупного российского банка или соцсети, то можно увидеть Oauth 2.0, OIDC, authorization code flow и т.д. К сожалению, в большинстве случаев это либо не соответствует действительности вообще, либо частично. Как будто за всеми этим упускается один важный момент, и сегодня мы поговорим об этом более подробно.

Смотрим примеры

Читать полностью »

Эта статья повествует о наиболее распространенном методе обмена токенами в потоке OpenID Сonnect: грантах [grants]. Обещаем – путешествие будет увлекательным, так что устраивайтесь поудобнее.

OpenID Connect (OIDC): Как получить токен? - 1

Интерлюдия

Читать полностью »

Интернет полон статей про UML, вы найдете сотни примеров для каждого вида диаграмм, и без проблем создадите свои, нотация не сложная. Но так ли уж необходимо тратить на это время? Наш богатый опыт говорит «Да». Если у вас в команде более 2 человек и проект от 3 месяцев, то уже имеет смысл отрисовать 2-3 вида диаграмм. В одной нашей команде более 30 человек, проект длительностью более 3 лет, и мы используем...2-3 вида диаграмм.

Нотация UML избыточна. С другой стороны она недостаточна для проектирования распределенных систем, и здесь нам помогает Archimate. В этой статье мы расскажем, что действительно полезно из всего этого многообразия, и рассмотрим на примере полный цикл создания диаграмм для проекта.
Читать полностью »

Поддержка анонимных jwt токенов в IdentityServer4 при помощи AnonymousIdentity - 1
Недавно мне потребовалось реализовать поддержку анонимной аутентификации пользователей на основе OpenId Connect и OAuth 2.0 на платформе ASP.NET Core. Здесь не будет объясняться спецификация данных протоколов, для этого есть полно статей на хабре. Перейдем к сути.

Читать полностью »

Интеграция с ЕСИА на базе oauth2-client (PHP) - 1

Представляем yet another PHP-пакет интеграции с ЕСИА — ekapusta/oauth2-esia. Реализован как адаптер к популярному league/oauth2-client.

Читать полностью »

Добавление рекордов с OAuth 2: Laravel Passport + Unity. Часть 2 - 1

Продолжение статьи про добавление рекордов из игры на сайт от конкретного пользователя. В первой части мы сделали страничку рекордов на Laravel и подготовили API для их добавления — как анонимным, так и авторизированным пользователем. В этой части будем дорабатывать готовую игру на Unity про Крысу на Стене, заходить за свой аккаунт и отправлять рекорды на сайт на Laravel с использованием токена авторизации.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js