keycloak-scim/js/libs/keycloak-admin-client/src/resources/authenticationManagement.ts

287 lines
7.5 KiB
TypeScript
Raw Normal View History

import Resource from "./resource.js";
import type RequiredActionProviderRepresentation from "../defs/requiredActionProviderRepresentation.js";
import type { KeycloakAdminClient } from "../client.js";
import type AuthenticationExecutionInfoRepresentation from "../defs/authenticationExecutionInfoRepresentation.js";
import type AuthenticationFlowRepresentation from "../defs/authenticationFlowRepresentation.js";
import type AuthenticatorConfigRepresentation from "../defs/authenticatorConfigRepresentation.js";
import type { AuthenticationProviderRepresentation } from "../defs/authenticatorConfigRepresentation.js";
import type AuthenticatorConfigInfoRepresentation from "../defs/authenticatorConfigInfoRepresentation.js";
import type RequiredActionProviderSimpleRepresentation from "../defs/requiredActionProviderSimpleRepresentation.js";
export class AuthenticationManagement extends Resource {
/**
* Authentication Management
* https://www.keycloak.org/docs-api/8.0/rest-api/index.html#_authentication_management_resource
*/
// Register a new required action
public registerRequiredAction = this.makeRequest<Record<string, any>>({
method: "POST",
path: "/register-required-action",
});
// Get required actions. Returns a list of required actions.
public getRequiredActions = this.makeRequest<
void,
RequiredActionProviderRepresentation[]
>({
method: "GET",
path: "/required-actions",
});
// Get required action for alias
public getRequiredActionForAlias = this.makeRequest<{
alias: string;
}>({
method: "GET",
path: "/required-actions/{alias}",
urlParamKeys: ["alias"],
catchNotFound: true,
});
public getClientAuthenticatorProviders = this.makeRequest<
void,
AuthenticationProviderRepresentation[]
>({
method: "GET",
path: "/client-authenticator-providers",
});
public getAuthenticatorProviders = this.makeRequest<
void,
AuthenticationProviderRepresentation[]
>({
method: "GET",
path: "/authenticator-providers",
});
public getFormActionProviders = this.makeRequest<
void,
AuthenticationProviderRepresentation[]
>({
method: "GET",
path: "/form-action-providers",
});
// Update required action
public updateRequiredAction = this.makeUpdateRequest<
{ alias: string },
RequiredActionProviderRepresentation,
void
>({
method: "PUT",
path: "/required-actions/{alias}",
urlParamKeys: ["alias"],
});
// Delete required action
public deleteRequiredAction = this.makeRequest<{ alias: string }, void>({
method: "DELETE",
path: "/required-actions/{alias}",
urlParamKeys: ["alias"],
});
// Lower required actions priority
public lowerRequiredActionPriority = this.makeRequest<{
alias: string;
}>({
method: "POST",
path: "/required-actions/{alias}/lower-priority",
urlParamKeys: ["alias"],
});
// Raise required actions priority
public raiseRequiredActionPriority = this.makeRequest<{
alias: string;
}>({
method: "POST",
path: "/required-actions/{alias}/raise-priority",
urlParamKeys: ["alias"],
});
// Get unregistered required actions Returns a list of unregistered required actions.
public getUnregisteredRequiredActions = this.makeRequest<
void,
RequiredActionProviderSimpleRepresentation[]
>({
method: "GET",
path: "/unregistered-required-actions",
});
public getFlows = this.makeRequest<{}, AuthenticationFlowRepresentation[]>({
method: "GET",
path: "/flows",
});
public getFlow = this.makeRequest<
{ flowId: string },
AuthenticationFlowRepresentation
>({
method: "GET",
path: "/flows/{flowId}",
urlParamKeys: ["flowId"],
});
public getFormProviders = this.makeRequest<
void,
AuthenticationProviderRepresentation[]
>({
method: "GET",
path: "/form-providers",
});
public createFlow = this.makeRequest<
AuthenticationFlowRepresentation,
AuthenticationFlowRepresentation
>({
method: "POST",
path: "/flows",
returnResourceIdInLocationHeader: { field: "id" },
});
public copyFlow = this.makeRequest<{ flow: string; newName: string }>({
method: "POST",
path: "/flows/{flow}/copy",
urlParamKeys: ["flow"],
});
public deleteFlow = this.makeRequest<{ flowId: string }>({
method: "DELETE",
path: "/flows/{flowId}",
urlParamKeys: ["flowId"],
});
public updateFlow = this.makeUpdateRequest<
{ flowId: string },
AuthenticationFlowRepresentation
>({
method: "PUT",
path: "/flows/{flowId}",
urlParamKeys: ["flowId"],
});
public getExecutions = this.makeRequest<
{ flow: string },
AuthenticationExecutionInfoRepresentation[]
>({
method: "GET",
path: "/flows/{flow}/executions",
urlParamKeys: ["flow"],
});
public addExecution = this.makeUpdateRequest<
{ flow: string },
AuthenticationExecutionInfoRepresentation
>({
method: "POST",
path: "/flows/{flow}/executions",
urlParamKeys: ["flow"],
});
public addExecutionToFlow = this.makeRequest<
{ flow: string; provider: string },
AuthenticationExecutionInfoRepresentation
>({
method: "POST",
path: "/flows/{flow}/executions/execution",
urlParamKeys: ["flow"],
returnResourceIdInLocationHeader: { field: "id" },
});
public addFlowToFlow = this.makeRequest<
{
flow: string;
alias: string;
type: string;
provider: string;
description: string;
},
AuthenticationFlowRepresentation
>({
method: "POST",
path: "/flows/{flow}/executions/flow",
urlParamKeys: ["flow"],
returnResourceIdInLocationHeader: { field: "id" },
});
public updateExecution = this.makeUpdateRequest<
{ flow: string },
AuthenticationExecutionInfoRepresentation
>({
method: "PUT",
path: "/flows/{flow}/executions",
urlParamKeys: ["flow"],
});
public delExecution = this.makeRequest<{ id: string }>({
method: "DELETE",
path: "/executions/{id}",
urlParamKeys: ["id"],
});
public lowerPriorityExecution = this.makeRequest<{ id: string }>({
method: "POST",
path: "/executions/{id}/lower-priority",
urlParamKeys: ["id"],
});
public raisePriorityExecution = this.makeRequest<{ id: string }>({
method: "POST",
path: "/executions/{id}/raise-priority",
urlParamKeys: ["id"],
});
public getConfigDescription = this.makeRequest<
{ providerId: string },
AuthenticatorConfigInfoRepresentation
>({
method: "GET",
path: "config-description/{providerId}",
urlParamKeys: ["providerId"],
});
public createConfig = this.makeRequest<
AuthenticatorConfigRepresentation,
AuthenticatorConfigRepresentation
>({
method: "POST",
path: "/executions/{id}/config",
urlParamKeys: ["id"],
returnResourceIdInLocationHeader: { field: "id" },
});
public updateConfig = this.makeRequest<
AuthenticatorConfigRepresentation,
void
>({
method: "PUT",
path: "/config/{id}",
urlParamKeys: ["id"],
});
public getConfig = this.makeRequest<
{ id: string },
AuthenticatorConfigRepresentation
>({
method: "GET",
path: "/config/{id}",
urlParamKeys: ["id"],
});
public delConfig = this.makeRequest<{ id: string }>({
method: "DELETE",
path: "/config/{id}",
urlParamKeys: ["id"],
});
constructor(client: KeycloakAdminClient) {
super(client, {
path: "/admin/realms/{realm}/authentication",
getUrlParams: () => ({
realm: client.realmName,
}),
getBaseUrl: () => client.baseUrl,
});
}
}