diff options
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/share/authz/DESIGN.md | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/doc/share/authz/DESIGN.md b/doc/share/authz/DESIGN.md index 16134fe..0cf0fc0 100644 --- a/doc/share/authz/DESIGN.md +++ b/doc/share/authz/DESIGN.md @@ -39,6 +39,27 @@ SAML Login Flow +```plantuml +@startuml +Browser -> UI: Get dashboard +UI --> Browser: Generate SAML <AuthnRequest /> and redirect to IdP + +Browser -> IdP: Deliver SAML <AuthnRequest /> +IdP --> Browser: Redirect to Login Page +Browser -> IdP: Login +IdP --> Browser: Generate SAML <AuthnResponse /> with <Assertion /> and redirect to UI + +Browser -> UI: Deliver SAML <AuthnResponse /> +UI --> IdP: Exchange <Assertion /> for Tokens +UI --> Browser: Redirect to dashboard +Browser -> UI: Get dashboard +UI --> API: Request list of projects and provide Access Token +API -> IdP: Validate token and check declarative policy +API --> UI: Return list of projects as JSON +UI --> Browser: Return list of projects as HTML +@enduml +``` + 1. `GET http://ui.example.com/saml/new` 1. `POST http://idp.example.com/saml/new` 1. `GET http://idp.example.com/sessions/new?redirect_back=/saml/continue` |
