From 2b3aa79528dd114a5ed29b18b157a9371fc6224d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Chalet?= Date: Fri, 10 Apr 2026 13:33:02 +0200 Subject: [PATCH] Use the official ASCII art from RFC6749 instead of embedded screenshots --- guides/choosing-the-right-flow.md | 93 +++++++++++++++++- .../authorization-code-flow.png | Bin 19997 -> 0 bytes .../client-credentials-flow.png | Bin 5844 -> 0 bytes .../choosing-the-right-flow/implicit-flow.png | Bin 21774 -> 0 bytes .../resource-owner-password-flow.png | Bin 11977 -> 0 bytes 5 files changed, 89 insertions(+), 4 deletions(-) delete mode 100644 guides/choosing-the-right-flow/authorization-code-flow.png delete mode 100644 guides/choosing-the-right-flow/client-credentials-flow.png delete mode 100644 guides/choosing-the-right-flow/implicit-flow.png delete mode 100644 guides/choosing-the-right-flow/resource-owner-password-flow.png diff --git a/guides/choosing-the-right-flow.md b/guides/choosing-the-right-flow.md index 31a10622..93deb400 100644 --- a/guides/choosing-the-right-flow.md +++ b/guides/choosing-the-right-flow.md @@ -24,7 +24,25 @@ Directly inspired by [basic authentication](https://en.wikipedia.org/wiki/Basic_ to the authorization server with the user credentials (and depending on the client authentication policy defined by the authorization server, its own client credentials) and gets back an access token it can use to retrieve the user's resources. -![Resource owner password credentials flow](choosing-the-right-flow/resource-owner-password-flow.png) +```ansi + +----------+ + | Resource | + | Owner | + | | + +----------+ + v + | Resource Owner + (A) Password Credentials + | + v + +---------+ +---------------+ + | |>--(B)---- Resource Owner ------->| | + | | Password Credentials | Authorization | + | Client | | Server | + | |<--(C)---- Access Token ---------<| | + | | (w/ Optional Refresh Token) | | + +---------+ +---------------+ +``` ```http POST /connect/token HTTP/1.1 @@ -62,7 +80,15 @@ Pragma: no-cache The client credentials grant is almost identical to the resource owner password credentials grant, except it's been specifically designed for **client-to-server scenarios** (no user is involved in this flow): the client application sends a token request containing its credentials and gets back an access token it can use to query its own resources. -![Client credentials flow](choosing-the-right-flow/client-credentials-flow.png) +```ansi + +---------+ +---------------+ + | | | | + | |>--(A)- Client Authentication --->| Authorization | + | Client | | Server | + | |<--(B)---- Access Token ---------<| | + | | | | + +---------+ +---------------+ +``` ```http POST /connect/token HTTP/1.1 @@ -103,7 +129,33 @@ In return for its complexity, this flow has a great advantage when used in serve There are basically 2 steps in the authorization code flow: the authorization request/response and the token request/response. -![Authorization code flow](choosing-the-right-flow/authorization-code-flow.png) +```ansi + +----------+ + | Resource | + | Owner | + | | + +----------+ + ^ + | + (B) + +----|-----+ Client Identifier +---------------+ + | -+----(A)-- & Redirection URI ---->| | + | User- | | Authorization | + | Agent -+----(B)-- User authenticates --->| Server | + | | | | + | -+----(C)-- Authorization Code ---<| | + +-|----|---+ +---------------+ + | | ^ v + (A) (C) | | + | | | | + ^ v | | + +---------+ | | + | |>---(D)-- Authorization Code ---------' | + | Client | & Redirection URI | + | | | + | |<---(E)----- Access Token -------------------' + +---------+ (w/ Optional Refresh Token) +``` - **Step 1: the authorization request** @@ -190,7 +242,40 @@ to the client application as part of the authorization response in the URI fragm > When using the OpenID Connect version of the implicit flow, an additional token called *identity token* > is returned and can be used by client applications to retrieved standardized information about the user. -![Implicit flow](choosing-the-right-flow/implicit-flow.png) +```ansi + +----------+ + | Resource | + | Owner | + | | + +----------+ + ^ + | + (B) + +----|-----+ Client Identifier +---------------+ + | -+----(A)-- & Redirection URI --->| | + | User- | | Authorization | + | Agent -|----(B)-- User authenticates -->| Server | + | | | | + | |<---(C)--- Redirection URI ----<| | + | | with Access Token +---------------+ + | | in Fragment + | | +---------------+ + | |----(D)--- Redirection URI ---->| Web-Hosted | + | | without Fragment | Client | + | | | Resource | + | (F) |<---(E)------- Script ---------<| | + | | +---------------+ + +-|--------+ + | | + (A) (G) Access Token + | | + ^ v + +---------+ + | | + | Client | + | | + +---------+ +``` ```http GET /connect/authorize?response_type=token&client_id=s6BhdRkqt3&redirect_uri=https%3A%2F%2Fclient.example.org%2Fcb&scope=openid&state=af0ifjsldkj&nonce=n-0S6_WzA2Mj HTTP/1.1 diff --git a/guides/choosing-the-right-flow/authorization-code-flow.png b/guides/choosing-the-right-flow/authorization-code-flow.png deleted file mode 100644 index 4d723fa07f8c6983a5a070810015450128a8b5e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19997 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
(t&TLe0&y&q&o9C2W5QTJlBmo%$J+H@#Mf!9*h^ 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 W5bUZ{t!V*RkG_tPcIhqqXa5d`Veeu9 diff --git a/guides/choosing-the-right-flow/implicit-flow.png b/guides/choosing-the-right-flow/implicit-flow.png deleted file mode 100644 index 622c0f40b1d0a8aaa0d8098bed2dfc1e7cefc78a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21774 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 ZulxpSBHFqFI83)WTyeTwa_Prk{tcG=Ex7;y diff --git a/guides/choosing-the-right-flow/resource-owner-password-flow.png b/guides/choosing-the-right-flow/resource-owner-password-flow.png deleted file mode 100644 index fdbf3eb5181bea96c63dfcd87d9313e243e95816..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11977 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