From b35e83f6e3280e6c88e1b4083520dda40a6d533a Mon Sep 17 00:00:00 2001 From: leonmin <1334137558@qq.com> Date: Thu, 6 Feb 2025 21:55:07 +0800 Subject: [PATCH] =?UTF-8?q?feature:=20=E6=96=B0=E5=A2=9Eoauth2=20flow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- images/oauth2/oauth2-protocol-flow.png | Bin 0 -> 20723 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/oauth2/oauth2-protocol-flow.png diff --git a/images/oauth2/oauth2-protocol-flow.png b/images/oauth2/oauth2-protocol-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..2b2d1e5e44650005beb2fd6d1c955b01ec5c7f9a GIT binary patch literal 20723 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 Yy^aq}X49?&{PBJ>Hq)$ literal 0 HcmV?d00001