diff --git a/docs/index.md b/docs/index.md index c22ed565d5d60c775443b0b7885e31fcc6c5d92b..9b3dad3e2bafaa39019e8e8f4dcc7e5bef539773 100644 --- a/docs/index.md +++ b/docs/index.md @@ -10,4 +10,30 @@ gateway and also is a dependency of every other API bundle. * It configures all dependencies to our needs (api-platform, symfony, etc.) * and more ... + +# Overview + A minimal working relay API gateway consists of the core bundle and an auth bundle. + +```mermaid +graph TD + style core_bundle fill:#606096,color:#fff + + subgraph API Gateway + api(("API")) + auth_bundle("Auth Bundle") + core_bundle("Core Bundle") + core_bundle --> auth_bundle + api --> core_bundle + end + + click auth_bundle "./#auth-bundle" + click user_session "./#usersession" +``` + +### Auth Bundle + +The auth bundle takes care of user authentication and communicates with an OIDC +server, for example [Keycloak](https://www.keycloak.org). It creates the Symfony +user object and converts OAuth2 scopes to Symfony user roles used for +authorization.