saml-login
Version:
SAML 2.0 implementation for Node.js
28 lines (27 loc) • 1.43 kB
TypeScript
import { Profile, AuthenticationOptions, DelegationOptions, ValidationOptions, AuthenticationResponseMetadata, SamlRequestMetadata } from "./types";
declare class SamlLogin {
private requestIdExpirationPeriodMs;
generateDelegationUrl(options: DelegationOptions): Promise<string>;
generateAuthenticationUrl(options: AuthenticationOptions): Promise<string>;
validateSignature(fullXml: string, currentNode: Element, certs: string[]): boolean;
parseSamlRequestMetadata(samlEncodedBody: string): Promise<SamlRequestMetadata>;
getSamlAssertionMetadata(samlEncodedBody: string): Promise<AuthenticationResponseMetadata>;
validatePostResponse(options: ValidationOptions, samlEncodedBody: string): Promise<{
profile?: Profile | null;
loggedOut?: boolean;
}>;
private processValidlySignedAssertion;
private checkTimestampsValidityError;
private checkAudienceValidityError;
/**
* Process max age assertion and use it if it is more restrictive than the NotOnOrAfter age
* assertion received in the SAMLResponse.
*
* @param maxAssertionAgeMs Max time after IssueInstant that we will accept assertion, in Ms.
* @param notOnOrAfter Expiration provided in response.
* @param issueInstant Time when response was issued.
* @returns {*} The expiration time to be used, in Ms.
*/
private processMaxAgeAssertionTime;
}
export default SamlLogin;