how to choose flow in a nutshell

  1. is there a back end for the webapp/spa. (webapp always has a backend)
    1. yes - use authorization code flow. 
    2. no - use authorization code flow with pkce
  2. Is the app native app ?
    1. use authorization code flow with pkce
  3. is the client webapp and only authentication is required
    • Implict flow with form post. (the id token will be issued by authorization end point) 
    • Athorization code flow.
  4. Hybrid flow should be used to learn who the user is before redeeming an authorization code, it's common for applications to also request an ID token when they request the authorization code. (This is called the hybrid flow because it mixes the implicit grant with the authorization code flow).

how to choose flow in detail