Class PoliciesBuilderExtensions
- Namespace
- Keycloak.AuthServices.Authorization
- Assembly
- Keycloak.AuthServices.Authorization.dll
Extension methods for AuthorizationPolicyBuilder to add Keycloak-specific authorization requirements such as realm roles, resource roles, protected resources, and organization membership checks.
public static class PoliciesBuilderExtensions
- Inheritance
-
PoliciesBuilderExtensions
- Inherited Members
Methods
RequireOrganizationMembership(AuthorizationPolicyBuilder)
Adds organization membership requirement to builder. Requires the user to be a member of any Keycloak organization.
public static AuthorizationPolicyBuilder RequireOrganizationMembership(this AuthorizationPolicyBuilder builder)
Parameters
builderAuthorizationPolicyBuilderThe authorization policy builder.
Returns
- AuthorizationPolicyBuilder
The modified authorization policy builder.
RequireOrganizationMembership(AuthorizationPolicyBuilder, string)
Adds organization membership requirement to builder. Requires the user to be a member of the specified organization.
public static AuthorizationPolicyBuilder RequireOrganizationMembership(this AuthorizationPolicyBuilder builder, string organization)
Parameters
builderAuthorizationPolicyBuilderThe authorization policy builder.
organizationstringThe organization alias or identifier.
Returns
- AuthorizationPolicyBuilder
The modified authorization policy builder.
RequireProtectedResource(AuthorizationPolicyBuilder, string, string)
Adds protected resource requirement to builder. Makes outgoing HTTP requests to Authorization Server.
public static AuthorizationPolicyBuilder RequireProtectedResource(this AuthorizationPolicyBuilder builder, string resource, string scope)
Parameters
builderAuthorizationPolicyBuilderThe authorization policy builder.
resourcestringThe protected resource name.
scopestringThe required scope for the resource.
Returns
- AuthorizationPolicyBuilder
The authorization policy builder.
RequireProtectedResource(AuthorizationPolicyBuilder, string, string[], ScopesValidationMode?)
Adds protected resource requirement to builder. Makes outgoing HTTP requests to Authorization Server.
public static AuthorizationPolicyBuilder RequireProtectedResource(this AuthorizationPolicyBuilder builder, string resource, string[] scopes, ScopesValidationMode? scopesValidationMode = null)
Parameters
builderAuthorizationPolicyBuilderThe authorization policy builder.
resourcestringThe protected resource name.
scopesstring[]The required scopes for the resource.
scopesValidationModeScopesValidationMode?Controls whether all scopes (AllOf) or at least one scope (AnyOf) must be granted. Defaults to the server-level setting.
Returns
- AuthorizationPolicyBuilder
The authorization policy builder.
RequireRealmRoles(AuthorizationPolicyBuilder, params string[])
Adds realm role requirement to builder. Ensures that at least one realm role is present in realm claims.
public static AuthorizationPolicyBuilder RequireRealmRoles(this AuthorizationPolicyBuilder builder, params string[] roles)
Parameters
builderAuthorizationPolicyBuilderThe authorization policy builder.
rolesstring[]The realm roles to require. At least one must match.
Returns
- AuthorizationPolicyBuilder
The authorization policy builder.
RequireResourceRoles(AuthorizationPolicyBuilder, params string[])
Adds resource role requirement to builder. Ensures that at least one resource role is present in resource claims. Note, make sure role source is configure. See documentation for more details.
public static AuthorizationPolicyBuilder RequireResourceRoles(this AuthorizationPolicyBuilder builder, params string[] roles)
Parameters
builderAuthorizationPolicyBuilderThe authorization policy builder.
rolesstring[]The resource roles to require. At least one must match.
Returns
- AuthorizationPolicyBuilder
The authorization policy builder.
RequireResourceRolesForClient(AuthorizationPolicyBuilder, string, string[])
Adds resource role requirement to builder. Ensures that at least one resource role is present in resource claims.
public static AuthorizationPolicyBuilder RequireResourceRolesForClient(this AuthorizationPolicyBuilder builder, string client, string[] roles)
Parameters
builderAuthorizationPolicyBuilderThe authorization policy builder.
clientstringThe Keycloak client (resource) name to check roles against.
rolesstring[]The resource roles to require. At least one must match.
Returns
- AuthorizationPolicyBuilder
The authorization policy builder.