danielgerlag / conductor

Distributed workflow server
MIT License
532 stars 98 forks source link

OpenID Connect authentication #12

Closed danielgerlag closed 4 years ago

danielgerlag commented 4 years ago

OpenID Connect authentication

Adds integrated authentication using the OpenID Connect protocol.

By default, authentication is disabled. To enable it,

If authentication is enabled then you need to include a signed JWT bearer token along with every request. The is done by adding the Authorization: Bearer <<token>> header to each request. The token should be a valid JWT token that was signed with the corresponding private key to the public one in the environment variable.

The token must also include a scope claim that indicate the level of access. The following scopes are used within Conductor.

A minimal JWT payload the include all the scopes would look as follows

{
  "scope": "conductor:admin conductor:author conductor:controller conductor:viewer"
}

Some authentication servers that support OpenID Connect include