
Сертифицированный OpenID провайдер OAuth 2.0 и OpenID Connect для выпуска токенов, управления клиентами, JWKS и оркестрации потоков входа в систему и получения согласия через headless API для cloud-native приложений.
Ory Hydra — это защищённый, сертифицированный OpenID Foundation сервер OAuth 2.0 и провайдер OpenID Connect, оптимизированный для низкой задержки, высокой пропускной способности и низкого потребления ресурсов. Он подключается к вашему существующему поставщику удостоверений через приложение для входа и согласия, давая вам абсолютный контроль над пользовательским интерфейсом и пользовательским опытом.
Ory Hydra — это серверная реализация фреймворка авторизации OAuth 2.0 и спецификации OpenID Connect Core 1.0. Он соответствует лучшим практикам облачной архитектуры и ориентирован на:
Мы рекомендуем начать с документации по Ory Hydra, чтобы узнать больше о его архитектуре, функциональности и сравнении с другими системами.
Ory Hydra спроектирован так, чтобы:
Ory Hydra реализует открытые стандарты, установленные IETF:
и OpenID Foundation:
Ory Hydra — это сертифицированный OpenID Foundation провайдер OpenID (OP).
Сертифицированы следующие профили OpenID:
code)id_token, id_token+token)code+id_token, code+id_token+token, code+token)Для получения сертификации мы развернули эталонное приложение входа и согласия пользователя (без изменений) и Ory Hydra v1.0.0.
Вы можете запускать Ory Hydra двумя основными способами:
Ory Network — это самый быстрый способ использовать сервисы Ory в продакшене. Ory OAuth2 & OpenID Connect работает на основе сервера Ory Hydra с открытым исходным кодом и совместим по API.
Ory Network предоставляет:
Зарегистрируйте бесплатную учётную запись разработчика, чтобы начать.
Вы можете запускать Ory Hydra самостоятельно для полного контроля над инфраструктурой, развертыванием и настройкой.
В руководстве по установке объясняется, как:
В этом руководстве используется дистрибутив с открытым исходным кодом, чтобы помочь вам начать без лицензионных требований. Он отлично подходит для частных лиц, исследователей, хакеров и компаний, которые хотят экспериментировать, создавать прототипы или запускать некритичные нагрузки без SLA. Вы получаете полноценное ядро и можете свободно изучать, расширять и собирать его из исходного кода.
Если вы используете Hydra в составе системы, критически важной для бизнеса, например OAuth2 и OpenID Connect для всех ваших пользователей, вам следует использовать коммерческое соглашение, чтобы снизить операционные риски и риски безопасности. Лицензия Ory Enterprise License (OEL) дополняет самостоятельно размещаемую Hydra и предоставляет:
Для гарантированных исправлений CVE, актуальных корпоративных сборок, расширенных функций и поддержки в продакшене вам необходима действующая лицензия Ory Enterprise License и доступ к корпоративному Docker-реестру Ory. Чтобы узнать больше, свяжитесь с командой Ory.
Установите Ory CLI и создайте новый проект, чтобы попробовать Ory OAuth2 & OpenID Connect.```bash
bash <(curl https://raw.githubusercontent.com/ory/meta/master/install.sh) -b . ory sudo mv ./ory /usr/local/bin/
ory auth
ory create project --create-workspace "Ory Open Source" --name "GitHub Quickstart" --use-project
Попробуйте поток OAuth 2.0 Client Credentials:```bash
ory create oauth2-client \
--name "Client Credentials Demo" \
--grant-type client_credentials
# Note the client ID and secret from output
ory perform client-credentials \
--client-id <your-client-id> \
--client-secret <your-client-secret>
# Note the access token from output
ory introspect token <your-access-token>
Попробуйте поток OAuth 2.0 Authorize Code + OpenID Connect:```bash
ory create oauth2-client
--name "Authorize Code with OpenID Connect Demo"
--grant-type authorization_code,refresh_token
--response-type code
--redirect-uri http://127.0.0.1:4446/callback
ory perform authorization-code
--client-id
--client-secret
## Кто использует Ory Hydra
<!--BEGIN ADOPTERS-->
Сообщество Ory стоит на плечах отдельных людей, компаний и мейнтейнеров.
Команда Ory благодарит всех причастных — от отправки отчётов об ошибках
и запросов функций до внесения патчей и документации. Сообщество Ory
насчитывает более 50 000 участников и продолжает расти. Стек Ory защищает
более 7 000 000 000 API-запросов каждый день в тысячах компаний. Ничего
из этого не было бы возможным без каждого из вас!
Следующий список представляет компании, которые сопровождали нас на этом пути
и внесли выдающийся вклад в нашу экосистему. _Если вы считаете,
что ваша компания заслуживает здесь место, свяжитесь с
<a href="mailto:[email protected]">[email protected]</a> прямо сейчас_!<table>
<thead>
<tr>
<th>Название</th>
<th>Логотип</th>
<th>Сайт</th>
<th>Кейс</th>
</tr>
</thead>
<tbody>
<tr>
<td>OpenAI</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/openai.svg" />
<img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/openai.svg" alt="OpenAI">
</picture>
</td>
<td><a href="https://openai.com/">openai.com</a></td>
<td><a href="https://www.ory.com/case-studies/openai">Кейс OpenAI</a></td>
</tr>
<tr>
<td>Fandom</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/fandom.svg" />
<img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/fandom.svg" alt="Fandom">
</picture>
</td>
<td><a href="https://www.fandom.com/">fandom.com</a></td>
<td><a href="https://www.ory.com/case-studies/fandom">Кейс Fandom</a></td>
</tr>
<tr>
<td>Lumin</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/lumin.svg" />
<img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/lumin.svg" alt="Lumin">
</picture>
</td>
<td><a href="https://www.luminpdf.com/">luminpdf.com</a></td>
<td><a href="https://www.ory.com/case-studies/lumin">Кейс Lumin</a></td>
</tr>
<tr>
<td>Sencrop</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/sencrop.svg" />
<img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/sencrop.svg" alt="Sencrop">
</picture>
</td>
<td><a href="https://sencrop.com/">sencrop.com</a></td>
<td><a href="https://www.ory.com/case-studies/sencrop">Кейс Sencrop</a></td>
</tr>
<tr>
<td>OSINT Industries</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/osint.svg" />
<img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/osint.svg" alt="OSINT Industries">
</picture>
</td>
<td><a href="https://www.osint.industries/">osint.industries</a></td>
<td><a href="https://www.ory.com/case-studies/osint">Кейс OSINT Industries</a></td>
</tr>
<tr>
<td>HGV</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/hgv.svg" />
<img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/hgv.svg" alt="HGV">
</picture>
</td>
<td><a href="https://www.hgv.it/">hgv.it</a></td>
<td><a href="https://www.ory.com/case-studies/hgv">Кейс HGV</a></td>
</tr>
<tr>
<td>Maxroll</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/maxroll.svg" />
<img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/maxroll.svg" alt="Maxroll">
</picture>
</td>
<td><a href="https://maxroll.gg/">maxroll.gg</a></td>
<td><a href="https://www.ory.com/case-studies/maxroll">Кейс Maxroll</a></td>
</tr>
<tr>
<td>Zezam</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/zezam.svg" />
<img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/zezam.svg" alt="Zezam">
</picture>
</td>
<td><a href="https://www.zezam.io/">zezam.io</a></td>
<td><a href="https://www.ory.com/case-studies/zezam">Кейс Zezam</a></td>
</tr>
<tr>
<td>T.RowePrice</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/troweprice.svg" />
<img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/troweprice.svg" alt="T.RowePrice">
</picture>
</td>
<td><a href="https://www.troweprice.com/">troweprice.com</a></td>
</tr>
<tr>
<td>Mistral</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/mistral.svg" />
<img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/mistral.svg" alt="Mistral">
</picture>
</td>
<td><a href="https://www.mistral.ai/">mistral.ai</a></td>
</tr>
<tr>
<td>Axel Springer</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/axelspringer.svg" />
<img height="22px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/axelspringer.svg" alt="Axel Springer">
</picture>
</td>
<td><a href="https://www.axelspringer.com/">axelspringer.com</a></td>
</tr>
<tr>
<td>Hemnet</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/hemnet.svg" />
<img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/hemnet.svg" alt="Hemnet">
</picture>
</td>
<td><a href="https://www.hemnet.se/">hemnet.se</a></td>
</tr>
<tr>
<td>Cisco</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/cisco.svg" />
<img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/cisco.svg" alt="Cisco">
</picture>
</td>
<td><a href="https://www.cisco.com/">cisco.com</a></td>
</tr>
<tr>
<td>Presidencia de la República Dominicana</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/republica-dominicana.svg" />
<img height="42px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/republica-dominicana.svg" alt="Presidencia de la República Dominicana">
</picture>
</td>
<td><a href="https://www.presidencia.gob.do/">presidencia.gob.do</a></td>
</tr>
<tr>
<td>Moonpig</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/moonpig.svg" />
<img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/moonpig.svg" alt="Moonpig">
</picture>
</td>
<td><a href="https://www.moonpig.com/">moonpig.com</a></td>
</tr>
<tr>
<td>Booster</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/booster.svg" />
<img height="18px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/booster.svg" alt="Booster">
</picture>
</td>
<td><a href="https://www.choosebooster.com/">choosebooster.com</a></td>
</tr>
<tr>
<td>Zaptec</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/zaptec.svg" />
<img height="24px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/zaptec.svg" alt="Zaptec">
</picture>
</td>
<td><a href="https://www.zaptec.com/">zaptec.com</a></td>
</tr>
<tr>
<td>Klarna</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/klarna.svg" />
<img height="24px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/klarna.svg" alt="Klarna">
</picture>
</td>
<td><a href="https://www.klarna.com/">klarna.com</a></td>
</tr>
<tr>
<td>Raspberry PI Foundation</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/raspi.svg" />
<img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/raspi.svg" alt="Raspberry PI Foundation">
</picture>
</td>
<td><a href="https://www.raspberrypi.org/">raspberrypi.org</a></td>
</tr>
<tr>
<td>Tulip</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/tulip.svg" />
<img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/tulip.svg" alt="Tulip Retail">
</picture>
</td>
<td><a href="https://tulip.com/">tulip.com</a></td>
</tr>
<tr>
<td>Hootsuite</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/hootsuite.svg" />
<img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/hootsuite.svg" alt="Hootsuite">
</picture>
</td>
<td><a href="https://hootsuite.com/">hootsuite.com</a></td>
</tr>
<tr>
<td>Segment</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/segment.svg" />
<img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/segment.svg" alt="Segment">
</picture>
</td>
<td><a href="https://segment.com/">segment.com</a></td>
</tr>
<tr>
<td>Arduino</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/arduino.svg" />
<img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/arduino.svg" alt="Arduino">
</picture>
</td>
<td><a href="https://www.arduino.cc/">arduino.cc</a></td>
</tr>
<tr>
<td>Sainsbury's</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/sainsburys.svg" />
<img height="24px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/sainsburys.svg" alt="Sainsbury's">
</picture>
</td>
<td><a href="https://www.sainsburys.co.uk/">sainsburys.co.uk</a></td>
</tr>
<tr>
<td>Contraste</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/contraste.svg" />
<img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/contraste.svg" alt="Contraste">
</picture>
</td>
<td><a href="https://www.contraste.com/en">contraste.com</a></td>
</tr>
<tr>
<td>inMusic</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/inmusic.svg" />
<img height="24px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/inmusic.svg" alt="InMusic">
</picture>
</td>
<td><a href="https://inmusicbrands.com/">inmusicbrands.com</a></td>
</tr>
<tr>
<td>Buhta</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/buhta.svg" />
<img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/buhta.svg" alt="Buhta">
</picture>
</td>
<td><a href="https://buhta.com/">buhta.com</a></td>
</tr>
</tr>
<tr>
<td>Amplitude</td>
<td align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/amplitude.svg" />
<img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/amplitude.svg" alt="amplitude.com">
</picture>
</td>
<td><a href="https://amplitude.com/">amplitude.com</a></td>
</tr>
<tr>
<td align="center"><a href="https://tier4.jp/en/"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/tieriv.svg" /><img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/tieriv.svg" alt="TIER IV"></picture></a></td>
<td align="center"><a href="https://kyma-project.io"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/kyma.svg" /><img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/kyma.svg" alt="Kyma Project"></picture></a></td>
<td align="center"><a href="https://serlo.org/"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/serlo.svg" /><img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/serlo.svg" alt="Serlo"></picture></a></td>
<td align="center"><a href="https://padis.io/"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/padis.svg" /><img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/padis.svg" alt="Padis"></picture></a></td>
</tr>
<tr>
<td align="center"><a href="https://cloudbear.eu/"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/cloudbear.svg" /><img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/cloudbear.svg" alt="Cloudbear"></picture></a></td>
<td align="center"><a href="https://securityonionsolutions.com/"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/securityonion.svg" /><img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/securityonion.svg" alt="Security Onion Solutions"></picture></a></td>
<td align="center"><a href="https://factlylabs.com/"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/factly.svg" /><img height="24px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/factly.svg" alt="Factly"></picture></a></td>
<td align="center"><a href="https://cashdeck.com.au/"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/allmyfunds.svg" /><img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/allmyfunds.svg" alt="All My Funds"></picture></a></td>
</tr>
<tr>
<td align="center"><a href="https://nortal.com/"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/nortal.svg" /><img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/nortal.svg" alt="Nortal"></picture></a></td>
<td align="center"><a href="https://www.ordermygear.com/"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/ordermygear.svg" /><img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/ordermygear.svg" alt="OrderMyGear"></picture></a></td>
<td align="center"><a href="https://r2devops.io/"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/r2devops.svg" /><img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/r2devops.svg" alt="R2Devops"></picture></a></td>
<td align="center"><a href="https://www.paralus.io/"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/paralus.svg" /><img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/paralus.svg" alt="Paralus"></picture></a></td>
</tr>
<tr>
<td align="center"><a href="https://dyrector.io/"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/dyrector_io.svg" /><img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/dyrector_io.svg" alt="dyrector.io"></picture></a></td>
<td align="center"><a href="https://pinniped.dev/"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/pinniped.svg" /><img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/pinniped.svg" alt="pinniped.dev"></picture></a></td>
<td align="center"><a href="https://pvotal.tech/"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ory/meta/master/static/adopters/light/pvotal.svg" /><img height="32px" src="https://raw.githubusercontent.com/ory/meta/master/static/adopters/dark/pvotal.svg" alt="pvotal.tech"></picture></a></td>
<td></td>
</tr>
</tbody>
</table>Большое спасибо всем индивидуальным участникам
<a href="https://opencollective.com/ory" target="_blank"><img src="https://opencollective.com/ory/contributors.svg?width=890&limit=714&button=false" /></a>
<!--END ADOPTERS-->
## Экосистема
<!--BEGIN ECOSYSTEM-->
При разработке Ory мы руководствуемся несколькими основными принципами, касающимися архитектурного
проектирования:
- Минимальные зависимости
- Работает везде
- Масштабируется без усилий
- Минимизация возможности человеческих и сетевых ошибок
Архитектура Ory спроектирована для наилучшей работы в системе оркестрации контейнеров,
такой как Kubernetes, CloudFoundry, OpenShift и аналогичные проекты. Бинарные файлы
небольшие (5-15МБ) и доступны для всех популярных типов процессоров (ARM, AMD64, i386)
и операционных систем (FreeBSD, Linux, macOS, Windows) без системных
зависимостей (Java, Node, Ruby, libxml, ...).
### Ory Kratos: инфраструктура и управление идентификацией и пользователями
[Ory Kratos](https://github.com/ory/kratos) — это система управления идентификацией и
пользователями, построенная по принципу API-first и в соответствии с
[лучшими практиками облачной архитектуры](https://www.ory.com/docs/next/ecosystem/software-architecture-philosophy).
Она реализует основные сценарии использования, с которыми почти любому
программному приложению приходится сталкиваться: самостоятельный вход и регистрация, многофакторная аутентификация
(MFA/2FA), восстановление и проверка учётной записи, управление профилем и учётной записью.
### Ory Hydra: сервер OAuth2 и OpenID Connect
[Ory Hydra](https://github.com/ory/hydra) — это провайдер OAuth2 и
OpenID Connect, сертифицированный OpenID Certified™, который легко подключается к любой существующей системе идентификации с помощью
небольшого приложения-«моста». Это даёт полный контроль над
пользовательским интерфейсом и сценариями пользовательского опыта.
### Ory Oathkeeper: прокси идентификации и доступа
[Ory Oathkeeper](https://github.com/ory/oathkeeper) — это BeyondCorp/Zero Trust
прокси идентификации и доступа (IAP) с настраиваемыми правилами аутентификации, авторизации
и мутации запросов для ваших веб-сервисов: аутентификация JWT, токенов
доступа, API-ключей, mTLS; проверка, разрешено ли содержащемуся субъекту выполнять
запрос; кодирование результирующего содержимого в пользовательские заголовки (`X-User-ID`), JSON Web
Tokens и многое другое!
### Ory Keto: сервер политик управления доступом
[Ory Keto](https://github.com/ory/keto) — это точка принятия решений о политиках. Он использует
набор политик управления доступом, аналогичных AWS IAM Policies, чтобы
определить, авторизован ли субъект (пользователь, приложение, сервис, автомобиль, ...) на
выполнение определённого действия над ресурсом.
<!--END ECOSYSTEM-->
## Документация
Полная документация Ory Hydra доступна на
[www.ory.com/docs/hydra](https://www.ory.com/docs/hydra), в том числе:
- [Руководства по установке](https://www.ory.com/docs/hydra/install)
- [Справочник по конфигурации](https://www.ory.com/docs/hydra/reference/configuration)
- [Документация HTTP API](https://www.ory.com/docs/hydra/sdk/api)
- [Архитектура безопасности](https://www.ory.com/docs/hydra/security-architecture)
- [Бенчмарки производительности](https://www.ory.com/docs/performance/hydra)
Для обновления и журналов изменений смотрите
[вкладку релизов](https://github.com/ory/hydra/releases) и
[CHANGELOG.md](https://github.com/ory/hydra/blob/HEAD/CHANGELOG.md).
## Разработка Ory Hydra
См. [DEVELOP.md](https://github.com/ory/hydra/blob/HEAD/DEVELOP.md) для получения информации о:
- Правилах участия в разработке
- Предварительных требованиях
- Установке из исходного кода
- Запуске тестов
- Сборке Docker-образа
- Просмотре документации API
## Безопасность
Спецификации OAuth2 и связанные с ним спецификации насчитывают более 400 страниц текста.
Реализовать OAuth2 легко, а сделать это правильно — сложно. Ory Hydra пользуется доверием
компаний по всему миру, имеет активное сообщество и ежедневно обрабатывает миллионы
запросов в продакшене каждый день. Читайте
[руководство по безопасности](https://www.ory.com/docs/hydra/security-architecture) для
получения дополнительных сведений о криптографии и концепциях безопасности.
### Раскрытие уязвимостей
Если вы считаете, что нашли уязвимость в системе безопасности, пожалуйста, воздержитесь от публикации
её в открытом доступе на форумах, в чате или на GitHub. Всю информацию об
ответственном раскрытии уязвимостей вы можете найти в нашем
[security.txt](https://www.ory.com/.well-known/security.txt).
## Телеметрия
Наши сервисы собирают обобщённые анонимизированные данные, которые при желании можно
отключить. Нажмите [здесь](https://www.ory.com/docs/ecosystem/sqa), чтобы узнать больше.
## Библиотеки и сторонние проекты
Официальные:
- [Пример входа пользователя и согласия](https://github.com/ory/hydra-login-consent-node)
Сообщество:
- Посетите
[этот документ для обзора проектов и статей сообщества](https://www.ory.com/docs/ecosystem/community)
Блог разработчиков:
- Посетите [блог Ory](https://www.ory.com/blog/) для руководств, учебных пособий и
статей об Ory Hydra и экосистеме Ory.