summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2020-04-24 21:27:40 +0300
committerLars Wirzenius <liw@liw.fi>2020-04-24 21:27:40 +0300
commit7e506ef0fdc25513b53e0164184001be3c9eb353 (patch)
tree868c94dc3a4a1e3f1857d591e84c53eb5d46630f
downloadyuck-7e506ef0fdc25513b53e0164184001be3c9eb353.tar.gz
Add: first attempt
-rw-r--r--yuck.md38
1 files changed, 38 insertions, 0 deletions
diff --git a/yuck.md b/yuck.md
new file mode 100644
index 0000000..466d74f
--- /dev/null
+++ b/yuck.md
@@ -0,0 +1,38 @@
+# OIDC protocol
+
+The OIDC protocol involves the following entities:
+
+* the **end user**, who is trying to do something
+* the **web browser**, used by the user
+* the **web application**, which the user uses to do things, and as
+ part of that access resources
+* the **resource provider**, where the resources are, and which allows
+ access to them via a web API
+* the **identity provider**, which authenticates the user
+
+~~~plantuml
+@startuml
+user -> browser : clicks on something
+browser -> app : GET /something
+browser <- app : redirect to /login
+browser -> app : GET /login
+browser <- app: redirect to idp
+browser -> idp : GET /login
+browser <- idp : login form
+user <- browser : show login form
+user -> browser : enter login info
+browser -> idp : POST login form
+browser <- idp : redirect to app /callback with authz code
+browser -> app : GET /callback with authz code
+app -> idp : request tokens using authz code
+app <- idp : access and refresh tokens
+app -> rp : access resource with access token
+app <- rp : resource
+browser <- app : page with resource
+user <- browser : show what the user wanted
+@enduml
+~~~
+
+---
+title: Yuck or OIDC
+...