# resources:diagrams:projects:base:sad:appendices #
* [[../|(UP)]]
{{indexmenu>.#2|nsort tsort}}
### OIDC Flow Choice
!includeurl http://skysigal.com/_media/resources/configuration/plantuml/minimalist.txt
title Selecting OIDC Flows
start
if (Is Client Resource Owner?) then (yes)
-[#green]->
:Use Client Credentials Grant Flow;
-[#green,dashed]->
else (no)
-[#orange,dashed]->
if (Is Client a Server based Web App?) then (yes)
-[#green]->
:Use Authorisation Code Grant Flow;
-[#green,dashed]->
else (no)
-[#orange,dashed]->
if (Is Client Trusted?) then (yes)
-[#green]->
:Use Resource Owner/Password Credentials Grant Flow;
-[#green,dashed]->
else (no)
-[#orange,dashed]->
if (Is Client a SPA?) then (yes)
-[#green]->
:Use Implicit Flow;
-[#green,dashed]->
else (no)
-[#orange,dashed]->
if (Is Client a Native App?) then (yes)
-[#green]->
:use Authorisation Code Grant (PKCE);
-[#green,dashed]->
else (no)