/* tslint:disable */ /* eslint-disable */ /** * authentik * Making authentication simple. * * The version of the OpenAPI document: 2026.2.3-rc1 * 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 { SAMLNameIDPolicyEnum } from './SAMLNameIDPolicyEnum'; import { SAMLNameIDPolicyEnumFromJSON, SAMLNameIDPolicyEnumFromJSONTyped, SAMLNameIDPolicyEnumToJSON, SAMLNameIDPolicyEnumToJSONTyped, } from './SAMLNameIDPolicyEnum'; /** * WSFederationProvider Serializer * @export * @interface WSFederationProviderRequest */ export interface WSFederationProviderRequest { /** * * @type {string} * @memberof WSFederationProviderRequest */ name: string; /** * Flow used for authentication when the associated application is accessed by an un-authenticated user. * @type {string} * @memberof WSFederationProviderRequest */ authenticationFlow?: string | null; /** * Flow used when authorizing this provider. * @type {string} * @memberof WSFederationProviderRequest */ authorizationFlow: string; /** * Flow used ending the session from a provider. * @type {string} * @memberof WSFederationProviderRequest */ invalidationFlow: string; /** * * @type {Array} * @memberof WSFederationProviderRequest */ propertyMappings?: Array; /** * * @type {string} * @memberof WSFederationProviderRequest */ replyUrl: string; /** * * @type {string} * @memberof WSFederationProviderRequest */ wtrealm: string; /** * Assertion valid not before current time + this value (Format: hours=-1;minutes=-2;seconds=-3). * @type {string} * @memberof WSFederationProviderRequest */ assertionValidNotBefore?: string; /** * Assertion not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). * @type {string} * @memberof WSFederationProviderRequest */ assertionValidNotOnOrAfter?: string; /** * Session not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3). * @type {string} * @memberof WSFederationProviderRequest */ 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 WSFederationProviderRequest */ 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 WSFederationProviderRequest */ authnContextClassRefMapping?: string | null; /** * * @type {DigestAlgorithmEnum} * @memberof WSFederationProviderRequest */ digestAlgorithm?: DigestAlgorithmEnum; /** * * @type {SignatureAlgorithmEnum} * @memberof WSFederationProviderRequest */ signatureAlgorithm?: SignatureAlgorithmEnum; /** * Keypair used to sign outgoing Responses going to the Service Provider. * @type {string} * @memberof WSFederationProviderRequest */ signingKp?: 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 WSFederationProviderRequest */ encryptionKp?: string | null; /** * * @type {boolean} * @memberof WSFederationProviderRequest */ signAssertion?: boolean; /** * * @type {boolean} * @memberof WSFederationProviderRequest */ signLogoutRequest?: boolean; /** * * @type {SAMLNameIDPolicyEnum} * @memberof WSFederationProviderRequest */ defaultNameIdPolicy?: SAMLNameIDPolicyEnum; } /** * Check if a given object implements the WSFederationProviderRequest interface. */ export function instanceOfWSFederationProviderRequest(value: object): value is WSFederationProviderRequest { 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 (!('replyUrl' in value) || value['replyUrl'] === undefined) return false; if (!('wtrealm' in value) || value['wtrealm'] === undefined) return false; return true; } export function WSFederationProviderRequestFromJSON(json: any): WSFederationProviderRequest { return WSFederationProviderRequestFromJSONTyped(json, false); } export function WSFederationProviderRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): WSFederationProviderRequest { 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'], 'replyUrl': json['reply_url'], 'wtrealm': json['wtrealm'], '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'], 'encryptionKp': json['encryption_kp'] == null ? undefined : json['encryption_kp'], 'signAssertion': json['sign_assertion'] == null ? undefined : json['sign_assertion'], 'signLogoutRequest': json['sign_logout_request'] == null ? undefined : json['sign_logout_request'], 'defaultNameIdPolicy': json['default_name_id_policy'] == null ? undefined : SAMLNameIDPolicyEnumFromJSON(json['default_name_id_policy']), }; } export function WSFederationProviderRequestToJSON(json: any): WSFederationProviderRequest { return WSFederationProviderRequestToJSONTyped(json, false); } export function WSFederationProviderRequestToJSONTyped(value?: WSFederationProviderRequest | 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'], 'reply_url': value['replyUrl'], 'wtrealm': value['wtrealm'], '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'], 'encryption_kp': value['encryptionKp'], 'sign_assertion': value['signAssertion'], 'sign_logout_request': value['signLogoutRequest'], 'default_name_id_policy': SAMLNameIDPolicyEnumToJSON(value['defaultNameIdPolicy']), }; }