• Stars
    star
    109
  • Rank 307,967 (Top 7 %)
  • Language
    C#
  • License
    Apache License 2.0
  • Created over 4 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The place where ORY's SDKs are being auto-generated

Generated SDKs for the ORY Ecosystem

All SDKs provided in this repository are generated using openapi-generator.

Publish the Docker Image

To publish the SDK Builder Docker Image, create a new GitHub release with the desired version.

You may also manually build and publish this image using:

docker build --platform linux/amd64 -t oryd/sdk:latest .
docker tag oryd/sdk:latest oryd/sdk:v0.0.34
docker push oryd/sdk:v0.0.34

Running the Image Locally

If you wish to debug some generators or build steps, you can run the image locally:

docker run --platform linux/amd64 --mount type=bind,source="$(pwd)",target=/sdk --name sdk --user "$(id -u):$(id -g)" -it oryd/sdk:latest /bin/sh

Debugging Failing Tests on CI

If a tests fails on CI, you may run the following code snippet to reproduce the failure locally:

docker run --platform linux/amd64 --mount type=bind,source="$(pwd)",target=/project -it oryd/sdk:v0.0.50 /bin/sh

export FORCE_VERSION=v1.11.0
export FORCE_PROJECT=hydra # or hydra or something else
cd /project

./scripts/generate.sh
./scripts/test.sh

Commit a new spec

Place the spec in spec/<project>/<version>.json (e.g. spec/hydra/v0.0.0-alpha.1.json) and create a commit that references both the project and the version git commit -a -m "Add spec for <project>:<version>" (e.g. git commit -a -m "Add spec for hydra:v0.0.0-alpha.1").

Do not create multiple commits adding several specs in one PR, as only the latest commit will be checked when it lands on master.

Because this is an automated process, it is highly recommended to add, commit, and push the spec file directly to master in one go!

You can create a PR if you're making changes to the build chain.

Upgrading OpenAPI Generator

Upgrading OpenAPI Generator versions requires careful upgrading of the Java pom.xml. The file might contain new versions for dependencies, but if overwritten, will not work with the release pipeline.

Therefore, the pom.xml file is being always overwritten from the contrib/poms directory for each project. To update any dependencies, the changes must thus be made there. We recommend running the openapi generator manually on the local machine and diffing the changes with contents in contrib/poms.

Publishing

PHP - Packagist

Install PHP and composer. Then, run the install command to initialize everything:

export PROJECT=hydra
cd clients/${PROJECT}/php
composer install

Then, push the directory to a git remote of your choosing and also publish the tag you want to release the package as. You can take a look at ./scripts/publish.sh to understand how to accomplish that.

Python - PyPi / pip

First, install all the necessary tools and python3:

python3 -m pip install --user --upgrade setuptools wheel twine

Next, create a PyPi account and API Token and set the env vars to:

export TWINE_USERNAME=__token__
export TWINE_PASSWORD=<token>

Then, publish the project (and set the project name):

export PROJECT=hydra
cd clients/${PROJECT}/python
python3 setup.py sdist bdist_wheel
python3 -m twine upload dist/*

Ruby

You need to set GEM_HOST_API_KEY

Java - Maven Central

For keys read https://blackdoor.github.io/blog/maven-cd/

Due to a bug in openapi-generator that appears in Java11+, please disable javadoc generation:

mvn <cmd> -Dmaven.javadoc.skip=true

To test the build for Java, run:

$ ./scripts/generate.sh
$ cd clients/<project>/java
$ mvn test-compile

You will also need a PGP keypair that is associated with one of the owners of the sh.ory group and that is published on one of the public key servers. For more details, see: https://dzone.com/articles/publish-your-artifacts-to-maven-central

mvn clean

# THESE VALUES ARE EXAMPLES - PLEASE PICK THE APPROPRIATE `tag`, etc
mvn -Dtag=client-0.0.1-alpha.1 release:update-version \
  -DreleaseVersion=0.0.1-alpha.1 -DdevelopmentVersion=0.0.1-alpha.1-SNAPSHOT \
  -Darguments="-Dmaven.javadoc.skip=true" -Dresume=false

mvn release:perform -Darguments="-Dmaven.javadoc.skip=true" -Dresume=false

More Repositories

1

hydra

OpenID Certified™ OpenID Connect and OAuth Provider written in Go - cloud native, security-first, open source API security for your infrastructure. SDKs for any language. Works with Hardware Security Modules. Compatible with MITREid.
Go
14,588
star
2

kratos

Next-gen identity server (think Auth0, Okta, Firebase) with Ory-hardened authentication, MFA, FIDO2, TOTP, WebAuthn, profile management, identity schemas, social sign in, registration, account recovery, passwordless. Golang, headless, API-only - without templating or theming headaches. Available as a cloud service.
Go
8,361
star
3

keto

Open Source (Go) implementation of "Zanzibar: Google's Consistent, Global Authorization System". Ships gRPC, REST APIs, newSQL, and an easy and granular permission language. Supports ACL, RBAC, and other access models.
Go
4,528
star
4

dockertest

Write better integration tests! Dockertest helps you boot up ephermal docker images for your Go tests with minimal work.
Go
3,676
star
5

oathkeeper

A cloud native Identity & Access Proxy / API (IAP) and Access Control Decision API that authenticates, authorizes, and mutates incoming HTTP(s) requests. Inspired by the BeyondCorp / Zero Trust white paper. Written in Go.
Go
3,140
star
6

ladon

A SDK for access control policies: authorization for the microservice and IoT age. Inspired by AWS IAM policies. Written for Go.
Go
2,280
star
7

fosite

Extensible security first OAuth 2.0 and OpenID Connect SDK for Go.
Go
2,218
star
8

k8s

Kubernetes Helm Charts for the ORY ecosystem.
Mustache
322
star
9

kratos-selfservice-ui-node

TypeScript
278
star
10

hydra-login-consent-node

This is an ExpressJS reference implementation for the ORY Hydra User Login and Consent interface written in TypeScript and ExpressJS.
TypeScript
266
star
11

go-acc

Accurate Code Coverage reporting for Golang (Go)
Go
208
star
12

examples-archive

THIS REPOSITORY IS NOT UP TO DATE. Different docker-based examples for ORY's services (Hydra, Keto, Oathkeeper).
Shell
129
star
13

docs

The Ory documentation
TypeScript
125
star
14

graceful

A best practice http server set up that supports graceful shutdown
Go
123
star
15

examples

A curated collection of examples and solutions created and maintained by the Ory Community.
JavaScript
103
star
16

herodot

A lightweight Go library for writing responses and errors to HTTP
Go
82
star
17

kratos-selfservice-ui-react-nextjs

A full reference implementation for designing your own login, registration, recovery, verification, ... pages using Ory Kratos' APIs.
TypeScript
81
star
18

elements

Ory Elements is a component library that makes building login, registration and account pages for Ory a breeze. Check out the components library on Chromatic https://www.chromatic.com/library?appId=63b58e306cfd32348fa48d50
TypeScript
77
star
19

network

Ory runs a global end-to-end security infrastructure for humans, robots, and servers. We build and use open source software.
77
star
20

x

Libraries used in the Ory ecosystem
Go
77
star
21

kratos-selfservice-ui-react-native

A reference implementation of an app using ORY Kratos for auth (login), sign up (registration), profile settings (update password), MFA/2FA, account recovery (password reset), and more for React Native. This repository is available as an expo template!
TypeScript
68
star
22

fosite-example

Go
66
star
23

kratos-client-go

Shell
55
star
24

hydra-consent-app-go

A simple consent app for Hydra written in Go - for Hydra =< 1.0.0
Go
41
star
25

cli

The Ory CLI.
Go
38
star
26

jobs

Want to build the next generation identity stack? You've come to the right place!
37
star
27

hydra-consent-app-express

A simple nodejs consent app based on express - for Hydra =< 1.0.0
JavaScript
37
star
28

hydra-client-go

Shell
34
star
29

osin-storage

PostgreSQL storage backend for RangelReale osin OAuth2
Go
33
star
30

oathkeeper-maester

Kuberenetes CRD Controller for Ory Oathkeeper. ⚠️ Maintained by the community, not an official Ory project!
Go
32
star
31

hydra-maester

Kuberenetes CRD Controller for Ory Hydra. ⚠️ Maintained by the community, not an official Ory project!
Go
29
star
32

web

www.ory.sh
TypeScript
25
star
33

hydra-client-java

Java
25
star
34

kratos-nextjs-react-example

Add login, registration, account recovery (password reset), account verification (email verification), social sign in, multi-factor authentication to your Next.js / React App using Ory!
TypeScript
25
star
35

status

DEPRECATED
Markdown
21
star
36

closed-reference-notifier

A GitHub action to open an issue when GitHub references in your code are closed.
TypeScript
20
star
37

hydra-js

DOES NOT WORK WITH VERSIONS > 0.10.0 - A simple library to help you build node-based identity providers that work with Hydra.
JavaScript
18
star
38

go-convenience

Well-tested helpers for dealing with daily problems in Go.
Go
18
star
39

defcon-30-ctf

Go
17
star
40

redux-saga-fetch

A simple wrapper that reduces boilerplate code when using redux-saga in combination with async backend calls.
TypeScript
16
star
41

hydra-client-php

PHP
15
star
42

meta

A place where we plan and schedule our open source activities and track cross-project and ory-wide issues
Shell
15
star
43

integrations

TypeScript
14
star
44

kratos-client-php

PHP
14
star
45

keto-client-go

Shell
14
star
46

build-buf-action

A GitHub action to build and lint protobuf using buildbuf
Shell
13
star
47

encrypt-dir

A very simple cli helper that encrypts files in directories using AES-GCM (128bit)
Go
13
star
48

summit

This repository holds all material related to the Ory Summit, specifically the presentations.
11
star
49

common

Ory's cross-project go libraries, intended for internal use.
Go
11
star
50

client-go

Shell
11
star
51

docusaurus-template

DEPRECATED
JavaScript
10
star
52

works

This repository shows examples of practical solutions using Ory projects and other OSS
Go
10
star
53

oathkeeper-client-go

Shell
10
star
54

ladon-community

Go
9
star
55

ci

Automation and robots for Ory's CI and CD pipelines
Shell
7
star
56

kratos-client-js

Autogenerated kratos SDK.
7
star
57

keto-client-java

Java
7
star
58

kratos-client-rust

Autogenerated kratos SDK.
Rust
7
star
59

kratos-client-java

Java
6
star
60

oathkeeper-client-php

PHP
6
star
61

keto-client-php

PHP
6
star
62

hydra-auth0-consent-sdk

A NodeJS library for working with Auth0 as an Identity Provider
JavaScript
6
star
63

client-dotnet

Autogenerated client SDK.
C#
6
star
64

kratos-client-ruby

Autogenerated kratos SDK.
Ruby
6
star
65

ory-config

A small Web App for configuring Ory systems built in VueJs 2.x
Vue
6
star
66

ory-sdk-go

Go
6
star
67

pagination

Go
5
star
68

kratos-client-dart

Autogenerated kratos SDK.
Dart
5
star
69

ory-sdk-archive

Shell
5
star
70

client-php

PHP
5
star
71

open-source-support

Are you looking for help above and beyond our community self service support?
5
star
72

milestone-action

JavaScript
5
star
73

eslint-config-ory-am-react

The ESLint configuration used by Ory (React specific)
JavaScript
5
star
74

themes

TypeScript
5
star
75

kratos-maester

5
star
76

hydra-client-js

Autogenerated hydra SDK.
4
star
77

label-sync-action

JavaScript
4
star
78

summit-platform

TypeScript
4
star
79

kratos-client-python

Autogenerated kratos SDK.
Python
4
star
80

keto-maester

4
star
81

metrics-middleware

A simple metrics middleware for segment.io
Go
4
star
82

sdk-js

JavaScript
4
star
83

hydra-client-dart

Autogenerated hydra SDK.
Dart
4
star
84

client-java

Java
4
star
85

homebrew-tap

Location for all of Ory's homebrew packages
Ruby
4
star
86

client-js

Autogenerated client SDK.
4
star
87

eslint-config-ory-am

The ESLint configuration used by Ory
JavaScript
3
star
88

changelog

Ory Changelog Generator
JavaScript
3
star
89

ory-client-go

3
star
90

scoop

3
star
91

slack-invite

3
star
92

oathkeeper-client-dotnet

Autogenerated oathkeeper SDK.
C#
3
star
93

oathkeeper-client-js

Autogenerated oathkeeper SDK.
3
star
94

hydra-oracle-plugin

Go
3
star
95

hydra-client-ruby

Autogenerated hydra SDK.
Ruby
3
star
96

hydra-client-rust

Autogenerated hydra SDK.
Rust
3
star
97

release

Release infrastructure for ORY and related components
HTML
3
star
98

client-python

Autogenerated client SDK.
Python
3
star
99

hydra-client-dotnet

Autogenerated hydra SDK.
C#
3
star
100

homebrew-kratos

Ruby
3
star