From 69e989088b64d05d2f27e653c6c72fba13b4533b Mon Sep 17 00:00:00 2001
From: aeneasr <3372410+aeneasr@users.noreply.github.com>
Date: Thu, 28 Jul 2022 18:07:54 +0200
Subject: [PATCH] u
---
CHANGELOG.md | 28 +++---
README.md | 259 +++++++++++++++++++++++++++++----------------------
2 files changed, 161 insertions(+), 126 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7c8b554680a..6b15249bf32 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7391,10 +7391,9 @@ Signed-off-by: Euan Kemp
@@ -335,27 +361,34 @@ Ory Hydra is an OpenID Foundation [certified OpenID Provider (OP)](http://openid
The following OpenID profiles are certified:
-* [Basic OpenID Provider](http://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth) (response types `code`)
-* [Implicit OpenID Provider](http://openid.net/specs/openid-connect-core-1_0.html#ImplicitFlowAuth) (response types `id_token`, `id_token+token`)
-* [Hybrid OpenID Provider](http://openid.net/specs/openid-connect-core-1_0.html#HybridFlowAuth) (response types `code+id_token`, `code+id_token+token`, `code+token`)
-* [OpenID Provider Publishing Configuration Information](https://openid.net/specs/openid-connect-discovery-1_0.html)
-* [Dynamic OpenID Provider](https://openid.net/specs/openid-connect-registration-1_0.html)
-
-To obtain certification, we deployed the [reference user login and consent app](https://github.com/ory/hydra-login-consent-node)
+- [Basic OpenID Provider](http://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth)
+ (response types `code`)
+- [Implicit OpenID Provider](http://openid.net/specs/openid-connect-core-1_0.html#ImplicitFlowAuth)
+ (response types `id_token`, `id_token+token`)
+- [Hybrid OpenID Provider](http://openid.net/specs/openid-connect-core-1_0.html#HybridFlowAuth)
+ (response types `code+id_token`, `code+id_token+token`, `code+token`)
+- [OpenID Provider Publishing Configuration Information](https://openid.net/specs/openid-connect-discovery-1_0.html)
+- [Dynamic OpenID Provider](https://openid.net/specs/openid-connect-registration-1_0.html)
+
+To obtain certification, we deployed the
+[reference user login and consent app](https://github.com/ory/hydra-login-consent-node)
(unmodified) and Ory Hydra v1.0.0.
## Quickstart
-This section is a starter guide to working with Ory Hydra. In-depth docs are available as well:
+This section is a starter guide to working with Ory Hydra. In-depth docs are
+available as well:
-* The documentation is available [here](https://www.ory.sh/docs/hydra).
-* The REST API documentation is available [here](https://www.ory.sh/docs/hydra/sdk/api).
+- The documentation is available [here](https://www.ory.sh/docs/hydra).
+- The REST API documentation is available
+ [here](https://www.ory.sh/docs/hydra/sdk/api).
### 5 minutes tutorial: Host your own OAuth2 environment
-The **[tutorial](https://www.ory.sh/docs/hydra/5min-tutorial)** teaches you to set up Ory Hydra,
-a Postgres instance and an exemplary identity provider written in React using docker-compose.
-It will take you about 5 minutes to complete the **[tutorial](https://www.ory.sh/docs/hydra/5min-tutorial)**.
+The **[tutorial](https://www.ory.sh/docs/hydra/5min-tutorial)** teaches you to
+set up Ory Hydra, a Postgres instance and an exemplary identity provider written
+in React using docker-compose. It will take you about 5 minutes to complete the
+**[tutorial](https://www.ory.sh/docs/hydra/5min-tutorial)**.
@@ -363,7 +396,10 @@ It will take you about 5 minutes to complete the **[tutorial](https://www.ory.sh
### Installation
-Head over to the [Ory Developer Documentation](https://www.ory.sh/docs/hydra/install) to learn how to install Ory Hydra on Linux, macOS, Windows, and Docker and how to build Ory Hydra from source.
+Head over to the
+[Ory Developer Documentation](https://www.ory.sh/docs/hydra/install) to learn
+how to install Ory Hydra on Linux, macOS, Windows, and Docker and how to build
+Ory Hydra from source.
## Ecosystem
@@ -416,55 +452,41 @@ determine whether a subject (user, application, service, car, ...) is authorized
to perform a certain action on a resource.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
## Security
-*Why should I use Ory Hydra? It's not that hard to implement two OAuth2 endpoints and there are numerous SDKs out there!*
+_Why should I use Ory Hydra? It's not that hard to implement two OAuth2
+endpoints and there are numerous SDKs out there!_
-OAuth2 and OAuth2 related specifications are over 400 written pages. Implementing OAuth2 is easy, getting it right is hard.
-Ory Hydra is trusted by companies all around the world, has a vibrant community and faces millions of requests in production
-each day. Of course, we also compiled a security guide with more details on cryptography and security concepts.
-Read [the security guide now](https://www.ory.sh/docs/hydra/security-architecture).
+OAuth2 and OAuth2 related specifications are over 400 written pages.
+Implementing OAuth2 is easy, getting it right is hard. Ory Hydra is trusted by
+companies all around the world, has a vibrant community and faces millions of
+requests in production each day. Of course, we also compiled a security guide
+with more details on cryptography and security concepts. Read
+[the security guide now](https://www.ory.sh/docs/hydra/security-architecture).
### Disclosing vulnerabilities
-If you think you found a security vulnerability, please refrain from posting it publicly on the forums, the chat, or GitHub
-and send us an email to [hi@ory.am](mailto:hi@ory.sh) instead.
+If you think you found a security vulnerability, please refrain from posting it
+publicly on the forums, the chat, or GitHub and send us an email to
+[hi@ory.am](mailto:hi@ory.sh) instead.
## Benchmarks
-Our continuous integration runs a collection of benchmarks against Ory Hydra. You can find the results [here](https://www.ory.sh/docs/performance/hydra).
+Our continuous integration runs a collection of benchmarks against Ory Hydra.
+You can find the results [here](https://www.ory.sh/docs/performance/hydra).
## Telemetry
-Our services collect summarized, anonymized data that can optionally be turned off. Click
-[here](https://www.ory.sh/docs/ecosystem/sqa) to learn more.
+Our services collect summarized, anonymized data that can optionally be turned
+off. Click [here](https://www.ory.sh/docs/ecosystem/sqa) to learn more.
## Documentation
### Guide
-The full Ory Hydra documentation is available [here](https://www.ory.sh/docs/hydra).
+The full Ory Hydra documentation is available
+[here](https://www.ory.sh/docs/hydra).
### HTTP API documentation
@@ -472,8 +494,9 @@ The HTTP API is documented [here](https://www.ory.sh/docs/hydra/sdk/api).
### Upgrading and Changelog
-New releases might introduce breaking changes. To help you identify and incorporate those changes, we document these
-changes in [CHANGELOG.md](./CHANGELOG.md).
+New releases might introduce breaking changes. To help you identify and
+incorporate those changes, we document these changes in
+[CHANGELOG.md](./CHANGELOG.md).
### Command line documentation
@@ -481,7 +504,8 @@ Run `hydra -h` or `hydra help`.
### Develop
-We love all contributions! Please read our [contribution guidelines](./CONTRIBUTING.md).
+We love all contributions! Please read our
+[contribution guidelines](./CONTRIBUTING.md).
#### Dependencies
@@ -491,11 +515,13 @@ You need Go 1.13+ with `GO111MODULE=on` and (for the test suites):
- Makefile
- NodeJS / npm
-It is possible to develop Ory Hydra on Windows, but please be aware that all guides assume a Unix shell like bash or zsh.
+It is possible to develop Ory Hydra on Windows, but please be aware that all
+guides assume a Unix shell like bash or zsh.
#### Formatting Code
-You can format all code using `make format`. Our CI checks if your code is properly formatted.
+You can format all code using `make format`. Our CI checks if your code is
+properly formatted.
#### Running Tests
@@ -528,8 +554,8 @@ It is recommended to use the make file to run your tests using `make quicktest`
**Please note**:
-All tests run against a sqlite in-memory database,
-thus it is required to use the `-tags sqlite` build tag.
+All tests run against a sqlite in-memory database, thus it is required to use
+the `-tags sqlite` build tag.
Short tests run fairly quickly. You can either test all of the code at once:
@@ -551,17 +577,19 @@ go test -v -failfast -short -tags sqlite -run ^TestName$ ./...
##### Regular Tests
-Regular tests require a database set up. Our test suite is able to work with docker directly (using [ory/dockertest](https://github.com/ory/dockertest))
-but we encourage to use the Makefile instead. Using dockertest can bloat the number of Docker Images on your system
-and are quite slow. Instead we recommend doing:
+Regular tests require a database set up. Our test suite is able to work with
+docker directly (using [ory/dockertest](https://github.com/ory/dockertest)) but
+we encourage to use the Makefile instead. Using dockertest can bloat the number
+of Docker Images on your system and are quite slow. Instead we recommend doing:
```shell script
make test
```
-Please be aware that `make test` recreates the databases every time you run `make test`. This can be annoying if
-you are trying to fix something very specific and need the database tests all the time. In that case we
-suggest that you initialize the databases with:
+Please be aware that `make test` recreates the databases every time you run
+`make test`. This can be annoying if you are trying to fix something very
+specific and need the database tests all the time. In that case we suggest that
+you initialize the databases with:
```shell script
make test-resetdb
@@ -581,14 +609,17 @@ cd client; go test .
#### E2E Tests
-The E2E tests use [Cypress](https://www.cypress.io) to run full browser tests. You can execute these tests with:
+The E2E tests use [Cypress](https://www.cypress.io) to run full browser tests.
+You can execute these tests with:
```
make e2e
```
-The runner will not show the Browser window, as it runs in the CI Mode (background). That makes debugging these
-type of tests very difficult, but thankfully you can run the e2e test in the browser which helps with debugging! Just run:
+The runner will not show the Browser window, as it runs in the CI Mode
+(background). That makes debugging these type of tests very difficult, but
+thankfully you can run the e2e test in the browser which helps with debugging!
+Just run:
```shell script
./test/e2e/circle-ci.bash memory --watch
@@ -612,9 +643,11 @@ export TEST_DATABASE_COCKROACHDB='cockroach://root@127.0.0.1:3446/defaultdb?sslm
# ...
```
-Once you run the script, a Cypress window will appear. Hit the button "Run all Specs"!
+Once you run the script, a Cypress window will appear. Hit the button "Run all
+Specs"!
-The code for these tests is located in [./cypress/integration](./cypress/integration) and
+The code for these tests is located in
+[./cypress/integration](./cypress/integration) and
[./cypress/support](./cypress/support) and
[./cypress/helpers](./cypress/helpers). The website you're seeing is located in
[./test/e2e/oauth2-client](./test/e2e/oauth2-client).
@@ -633,8 +666,8 @@ and then in a separate shell
$ test/conformity/test.sh
```
-Running these tests will take a significant amount of time which is why they are not part
-of the CircleCI pipeline.
+Running these tests will take a significant amount of time which is why they are
+not part of the CircleCI pipeline.
#### Build Docker
@@ -646,7 +679,8 @@ make docker
#### Run the Docker Compose quickstarts
-If you wish to check your code changes against any of the docker-compose quickstart files, run:
+If you wish to check your code changes against any of the docker-compose
+quickstart files, run:
```shell script
make docker
@@ -656,10 +690,15 @@ docker compose -f quickstart.yml up # ....
## Libraries and third-party projects
Official:
-* [User Login & Consent Example](https://github.com/ory/hydra-login-consent-node)
+
+- [User Login & Consent Example](https://github.com/ory/hydra-login-consent-node)
Community:
-* Visit [this document for an overview of community projects and articles](https://www.ory.sh/docs/ecosystem/community)
+
+- Visit
+ [this document for an overview of community projects and articles](https://www.ory.sh/docs/ecosystem/community)
Developer Blog:
-* Visit the [Ory Blog](https://www.ory.sh/blog/) for guides, tutorials and articles around Ory Hydra and the Ory ecosystem.
+
+- Visit the [Ory Blog](https://www.ory.sh/blog/) for guides, tutorials and
+ articles around Ory Hydra and the Ory ecosystem.