@@ -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`