Muchas gracias a todos los contribuyentes individuales
* Utiliza uno de los principales proyectos de Ory en producción.
Dirígete a la documentación para conocer las formas de instalar Ory Keto.
Construimos ory sobre varios principios rectores cuando se trata de nuestro diseño de arquitectura:
La arquitectura de Ory está diseñada para funcionar mejor en un sistema de orquestación de contenedores como Kubernetes, CloudFoundry, OpenShift y proyectos similares. Los binarios son pequeños (5-15 MB) y están disponibles para todos los tipos de procesadores populares (ARM, AMD64, I386) y sistemas operativos (FreeBSD, Linux, MacOS, Windows) sin dependencias del sistema (Java, Node, Ruby, LibXML, ...).
Ory Kratos es un sistema de identidad y gestión de usuarios API que se construye de acuerdo con las mejores prácticas de la arquitectura en la nube. Implementa casos de uso central con los que casi todas las aplicaciones de software deben tratar con: inicio de sesión y registro de autoservicio, autenticación multifactor (MFA/2FA), recuperación y verificación de cuentas, perfil y administración de cuentas.
Ory Hydra es un proveedor OpenID Certified ™ OAuth2 y OpenID Connect que se conecta fácilmente a cualquier sistema de identidad existente escribiendo una pequeña aplicación de "puente". Proporciona un control absoluto sobre la interfaz de usuario y los flujos de experiencia del usuario.
Ory Oathkeeper es un proxy de identidad y acceso de fideicomiso de BeyondCorp/Zero (IAP) con autenticación configurable, autorización y reglas de mutación para sus servicios web: autenticar JWT, tokens de acceso, claves API, MTLS; Verifique si el sujeto contenido puede realizar la solicitud; ¡Codifique el contenido resultante en encabezados personalizados ( X-User-ID ), JSON Web Tokens y más!
Ory Keto es un punto de decisión de política. Utiliza un conjunto de políticas de control de acceso, similares a las políticas de AWS IAM, para determinar si un sujeto (usuario, aplicación, servicio, automóvil, ...) está autorizado para realizar una cierta acción en un recurso.
Si cree que encontró una vulnerabilidad de seguridad, abstenerse de publicarla públicamente en los foros, el chat o GitHub. Puede encontrar toda la información para la divulgación responsable en nuestro Security.txt.
Nuestros servicios recopilan datos resumidos y anonimizados que opcionalmente se pueden desactivar. Haga clic aquí para obtener más información.
La guía está disponible aquí.
La API HTTP está documentada aquí.
Los nuevos lanzamientos pueden introducir cambios de ruptura. Para ayudarlo a identificar e incorporar esos cambios, documentamos estos cambios en la actualización.md y Changelog.md.
Ejecute keto -h o keto help .
Alentamos todas las contribuciones y le recomendamos que lea nuestras pautas de contribución.
Necesita Go 1.19+ y (para las suites de prueba):
Es posible desarrollar Ory Keto en Windows, pero tenga en cuenta que todas las guías asumen un shell Unix como Bash o Zsh.
hacer instalar
Puede formatear todo el código utilizando make format . Nuestro CI verifica si su código está formateado correctamente.
Hay dos tipos de pruebas que puede ejecutar:
Las pruebas cortas funcionan con bastante rapidez. Puede probar todo el código a la vez:
go test -short -tags sqlite ./...o probar solo un módulo específico:
go test -tags sqlite -short ./internal/check/...Las pruebas regulares requieren una configuración de base de datos. Nuestra suite de prueba puede trabajar directamente con Docker directamente (usando Ory/Dockertest), pero alentamos a usar el script. El uso de DockerTest puede bloquear la cantidad de imágenes de Docker en su sistema y comenzarlas en cada ejecución es bastante lento. En su lugar, recomendamos hacer:
source ./scripts/test-resetdb.sh
go test -tags sqlite ./... Las pruebas E2E son parte de la go test normal. Para ejecutar solo la prueba E2E, use:
source ./scripts/test-resetdb.sh
go test -tags sqlite ./internal/e2e/... O agregue la etiqueta -short para probar solo contra SQLite en memoria.
Puede construir una imagen de Docker de desarrollo usando:
hacer Docker