Understanding the Discovery endpoint
The OIDC Discovery specification is an important aspect of both the interoperability and usability of OIDC Relying Party libraries. Without this specification, you would be required to do a lot of manual configuration in your applications to be able to authenticate with an OpenID Provider (more information on OpenID Providers can be found in Chapter 3, Brief Introduction to Standards).
It is an optional specification that an OpenID Provider can decide if it wants to implement or not. Luckily, most OpenID Providers, including Keycloak, implement this specification.
By simply knowing the base URL (often referred to as the issuer URL) for your OpenID Provider, a Relying Party can discover a lot of useful information about the provider. It does this by loading what is called the OpenID Provider Metadata from a standard endpoint, namely
To better understand the OpenID Provider Metadata, open...