/* tslint:disable */ /* eslint-disable */ /** * authentik * Making authentication simple. * * The version of the OpenAPI document: 2025.6.3 * Contact: hello@goauthentik.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { mapValues } from '../runtime'; import type { DigestAlgorithmEnum } from './DigestAlgorithmEnum'; import { DigestAlgorithmEnumFromJSON, DigestAlgorithmEnumFromJSONTyped, DigestAlgorithmEnumToJSON, DigestAlgorithmEnumToJSONTyped, } from './DigestAlgorithmEnum'; import type { SignatureAlgorithmEnum } from './SignatureAlgorithmEnum'; import { SignatureAlgorithmEnumFromJSON, SignatureAlgorithmEnumFromJSONTyped, SignatureAlgorithmEnumToJSON, SignatureAlgorithmEnumToJSONTyped, } from './SignatureAlgorithmEnum'; import type { SpBindingEnum } from './SpBindingEnum'; import { SpBindingEnumFromJSON, SpBindingEnumFromJSONTyped, SpBindingEnumToJSON, SpBindingEnumToJSONTyped, } from './SpBindingEnum'; /** * SAMLProvider Serializer * @export * @interface SAMLProviderRequest */ export interface SAMLProviderRequest { /** * * @type {string} * @memberof SAMLProviderRequest */ name: string; /** * Flow used for authentication when the associated application is accessed by an un-authenticated user. * @type {string} * @memberof SAMLProviderRequest */ authenticationFlow?: string | null; /** * Flow used when authorizing this provider. * @type {string} * @memberof SAMLProviderRequest */ authorizationFlow: string; /** * Flow used ending the session from a provider. * @type {string} * @memberof SAMLProviderRequest */ invalidationFlow: string; /** * * @type {Array} * @memberof SAMLProviderRequest */ propertyMappings?: Array; /** * * @type {string} * @memberof SAMLProviderRequest */ acsUrl: string; /** * Value of the audience restriction field of the assertion. When left empty, no audience restriction will be added. * @type {string} * @memberof SAMLProviderRequest */ audience?: string; /** * Also known as EntityID * @type {string} * @memberof SAMLProviderRequest */ issuer?: string; /** * Assertion valid not before current time + this value (Format: hours=-1;minutes=-2;seconds=-3). * @type {string} * @memberof SAMLProviderRequest */ assertionValidNotBefore?: string; /** * Assertion not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). * @type {string} * @memberof SAMLProviderRequest */ assertionValidNotOnOrAfter?: string; /** * Session not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). * @type {string} * @memberof SAMLProviderRequest */ sessionValidNotOnOrAfter?: string; /** * Configure how the NameID value will be created. When left empty, the NameIDPolicy of the incoming request will be considered * @type {string} * @memberof SAMLProviderRequest */ nameIdMapping?: string | null; /** * Configure how the AuthnContextClassRef value will be created. When left empty, the AuthnContextClassRef will be set based on which authentication methods the user used to authenticate. * @type {string} * @memberof SAMLProviderRequest */ authnContextClassRefMapping?: string | null; /** * * @type {DigestAlgorithmEnum} * @memberof SAMLProviderRequest */ digestAlgorithm?: DigestAlgorithmEnum; /** * * @type {SignatureAlgorithmEnum} * @memberof SAMLProviderRequest */ signatureAlgorithm?: SignatureAlgorithmEnum; /** * Keypair used to sign outgoing Responses going to the Service Provider. * @type {string} * @memberof SAMLProviderRequest */ signingKp?: string | null; /** * When selected, incoming assertion's Signatures will be validated against this certificate. To allow unsigned Requests, leave on default. * @type {string} * @memberof SAMLProviderRequest */ verificationKp?: string | null; /** * When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. * @type {string} * @memberof SAMLProviderRequest */ encryptionKp?: string | null; /** * * @type {boolean} * @memberof SAMLProviderRequest */ signAssertion?: boolean; /** * * @type {boolean} * @memberof SAMLProviderRequest */ signResponse?: boolean; /** * This determines how authentik sends the response back to the Service Provider. * @type {SpBindingEnum} * @memberof SAMLProviderRequest */ spBinding?: SpBindingEnum; /** * Default relay_state value for IDP-initiated logins * @type {string} * @memberof SAMLProviderRequest */ defaultRelayState?: string; } /** * Check if a given object implements the SAMLProviderRequest interface. */ export function instanceOfSAMLProviderRequest(value: object): value is SAMLProviderRequest { if (!('name' in value) || value['name'] === undefined) return false; if (!('authorizationFlow' in value) || value['authorizationFlow'] === undefined) return false; if (!('invalidationFlow' in value) || value['invalidationFlow'] === undefined) return false; if (!('acsUrl' in value) || value['acsUrl'] === undefined) return false; return true; } export function SAMLProviderRequestFromJSON(json: any): SAMLProviderRequest { return SAMLProviderRequestFromJSONTyped(json, false); } export function SAMLProviderRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SAMLProviderRequest { if (json == null) { return json; } return { 'name': json['name'], 'authenticationFlow': json['authentication_flow'] == null ? undefined : json['authentication_flow'], 'authorizationFlow': json['authorization_flow'], 'invalidationFlow': json['invalidation_flow'], 'propertyMappings': json['property_mappings'] == null ? undefined : json['property_mappings'], 'acsUrl': json['acs_url'], 'audience': json['audience'] == null ? undefined : json['audience'], 'issuer': json['issuer'] == null ? undefined : json['issuer'], 'assertionValidNotBefore': json['assertion_valid_not_before'] == null ? undefined : json['assertion_valid_not_before'], 'assertionValidNotOnOrAfter': json['assertion_valid_not_on_or_after'] == null ? undefined : json['assertion_valid_not_on_or_after'], 'sessionValidNotOnOrAfter': json['session_valid_not_on_or_after'] == null ? undefined : json['session_valid_not_on_or_after'], 'nameIdMapping': json['name_id_mapping'] == null ? undefined : json['name_id_mapping'], 'authnContextClassRefMapping': json['authn_context_class_ref_mapping'] == null ? undefined : json['authn_context_class_ref_mapping'], 'digestAlgorithm': json['digest_algorithm'] == null ? undefined : DigestAlgorithmEnumFromJSON(json['digest_algorithm']), 'signatureAlgorithm': json['signature_algorithm'] == null ? undefined : SignatureAlgorithmEnumFromJSON(json['signature_algorithm']), 'signingKp': json['signing_kp'] == null ? undefined : json['signing_kp'], 'verificationKp': json['verification_kp'] == null ? undefined : json['verification_kp'], 'encryptionKp': json['encryption_kp'] == null ? undefined : json['encryption_kp'], 'signAssertion': json['sign_assertion'] == null ? undefined : json['sign_assertion'], 'signResponse': json['sign_response'] == null ? undefined : json['sign_response'], 'spBinding': json['sp_binding'] == null ? undefined : SpBindingEnumFromJSON(json['sp_binding']), 'defaultRelayState': json['default_relay_state'] == null ? undefined : json['default_relay_state'], }; } export function SAMLProviderRequestToJSON(json: any): SAMLProviderRequest { return SAMLProviderRequestToJSONTyped(json, false); } export function SAMLProviderRequestToJSONTyped(value?: SAMLProviderRequest | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'name': value['name'], 'authentication_flow': value['authenticationFlow'], 'authorization_flow': value['authorizationFlow'], 'invalidation_flow': value['invalidationFlow'], 'property_mappings': value['propertyMappings'], 'acs_url': value['acsUrl'], 'audience': value['audience'], 'issuer': value['issuer'], 'assertion_valid_not_before': value['assertionValidNotBefore'], 'assertion_valid_not_on_or_after': value['assertionValidNotOnOrAfter'], 'session_valid_not_on_or_after': value['sessionValidNotOnOrAfter'], 'name_id_mapping': value['nameIdMapping'], 'authn_context_class_ref_mapping': value['authnContextClassRefMapping'], 'digest_algorithm': DigestAlgorithmEnumToJSON(value['digestAlgorithm']), 'signature_algorithm': SignatureAlgorithmEnumToJSON(value['signatureAlgorithm']), 'signing_kp': value['signingKp'], 'verification_kp': value['verificationKp'], 'encryption_kp': value['encryptionKp'], 'sign_assertion': value['signAssertion'], 'sign_response': value['signResponse'], 'sp_binding': SpBindingEnumToJSON(value['spBinding']), 'default_relay_state': value['defaultRelayState'], }; }