From c400e860feec125fa9f9a30e507318edf04f183f Mon Sep 17 00:00:00 2001
From: Eric Chiang <eric.chiang@coreos.com>
Date: Fri, 21 Apr 2017 14:22:46 -0700
Subject: [PATCH] Documentation: more diagrams

---
 Documentation/img/dex-backend-flow.png | Bin 0 -> 29612 bytes
 Documentation/using-dex.md             |   3 +++
 2 files changed, 3 insertions(+)
 create mode 100644 Documentation/img/dex-backend-flow.png

diff --git a/Documentation/img/dex-backend-flow.png b/Documentation/img/dex-backend-flow.png
new file mode 100644
index 0000000000000000000000000000000000000000..457394227749285f3d432fd5919044e8f2feff02
GIT binary patch
literal 29612
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
TR82$x=-5b4S3j3^P6<r_R@sqL

literal 0
HcmV?d00001

diff --git a/Documentation/using-dex.md b/Documentation/using-dex.md
index 8ac230fa..1e2076d5 100644
--- a/Documentation/using-dex.md
+++ b/Documentation/using-dex.md
@@ -138,6 +138,8 @@ A more thorough discussion of these kinds of best practices can be found in the
 
 Apps can also choose to consume ID tokens, letting other trusted clients handle the web flows for login. Clients pass along the ID tokens they receive from dex, usually as a bearer token, letting them act at the user to the backend service.
 
+![][dex-backend-flow]
+
 To accept ID tokens as user credentials, an app would construct an OpenID Connect verifier similarly to the above example. The verifier validates the ID token's signature, ensures it hasn't expired, etc. An important part of this code is that the verifier only trusts the example app's client. This ensures the example app is the one who's using the ID token, and not another, untrusted client.
 
 ```go
@@ -182,6 +184,7 @@ func authorize(ctx context.Context, bearerToken string) (*user, error) {
 
 [api-server]: https://kubernetes.io/docs/admin/authentication/#openid-connect-tokens
 [dex-flow]: img/dex-flow.png
+[dex-backend-flow]: img/dex-backend-flow.png
 [example-app]: ../cmd/example-app
 [oauth2-threat-model]: https://tools.ietf.org/html/rfc6819
 [go-oidc]: https://godoc.org/github.com/coreos/go-oidc
-- 
GitLab