Adds Keycloak OICD Authentication.
The configuration is based on well-known "Keycloak OICD JSON" format. So all you need to do is:
- Create "keycloak.json"
- Drop "keycloak.json" to the root of a project.
- Add configuration provider
ConfigureKeycloakConfigurationSource
- Add Authentication Services
AddKeycloakAuthentication
Add configuration provider:
// filename is optional, you can override it
host.ConfigureKeycloakConfigurationSource("keycloak.json");
Add and configure authentication services:
services.AddKeycloakAuthentication(configuration, o =>
{
o.RequireHttpsMetadata = false;
});
AddKeycloakAuthentication
accepts https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions, so you can control JwtBearer authentication.
For more details see an example - Program.cs.
"workspace-authz" is a "confidential client".
Here is how non-confidential client installation configuration look like:
{
"realm": "authz",
"auth-server-url": "http://localhost:8088/auth/",
"ssl-required": "external",
"resource": "frontend",
"public-client": true,
"confidential-port": 0
}