Legacy Flows

triangle-exclamation

Overview

The implicit grant returns tokens directly in the URL fragment. It was designed for browser-based applications before PKCE existed.

Why It's Deprecated

  • Tokens exposed in URL - Visible in browser history and logs

  • No refresh tokens - Users must re-authenticate frequently

  • Vulnerable to interception - No protection against token leakage

  • PKCE is better - Authorization code + PKCE is now preferred

Flow

User → Client → Authority → Client (with token in URL fragment)

Authorization Request

GET /authorize?
  response_type=token
  &client_id=abc123
  &redirect_uri=https://app.example.com/callback
  &scope=openid%20profile
  &state=xyz789

Response

Note: Token is in URL fragment (#), not query string.

Migration to PKCE

Replace implicit grant with authorization code + PKCE:

Before (Implicit):

After (PKCE):

Next Steps

Last updated

Was this helpful?