UNPKG

declarations

Version:

[![npm version](https://badge.fury.io/js/declarations.svg)](https://www.npmjs.com/package/declarations)

88 lines (74 loc) 2.96 kB
// Type definitions for SAMLP 1.0.0 // Project: https://github.com/auth0/node-samlp // Definitions by: horiuchi <https://github.com/horiuchi/> // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// <reference path="../express/express.d.ts" /> /// <reference path="../passport/passport.d.ts" /> declare module "samlp" { import * as express from 'express'; import * as passport from 'passport'; export function auth(options: IdPOptions): express.Handler; export function logout(options: IdPOptions): express.Handler; export function parseRequest(req: express.Request, callback: (err: any, data: SamlRequest) => void): void; export function getSamlResponse(options: IdPOptions, user: any, callback: (err: any, samlResponse: string) => void): void; export function sendError(options: IdPOptions): express.Handler; export function metadata(options: IdPMetadataOptions): express.Handler; export type DigestAlgorithmType = 'sha1' | 'sha256'; export type SignatureAlgorithmType = 'rsa-sha1' | 'rsa-sha256'; export interface IdPOptions { issuer: string; cert: string | Buffer; key: string | Buffer; audience?: string; recipient?: string; destination?: string; RelayState?: string; digestAlgorithm?: DigestAlgorithmType; signatureAlgorithm?: SignatureAlgorithmType; signResponse?: boolean; encryptionCert?: string | Buffer; encryptionPublicKey?: string | Buffer; encryptionAlgorithm?: string; keyEncryptionAlgorighm?: string; lifetimeInSeconds?: number; authnContextClassRef?: string; inResponseTo?: string; profileMapper?: ProfileMapperConstructor; getUserFromRequest?: (req: express.Request) => any; getPostURL: (audience: string, authnRequestDom: any, req: express.Request, callback: (err: any, url: string) => void) => void; } export interface IdPMetadataOptions { issuer: string; cert: string | Buffer; profileMapper?: ProfileMapperConstructor; redirectEndpointPath?: string; postEndpointPath?: string; logoutEndpointPaths?: { redirect?: string; post?: string; }; } export interface SamlRequest { id?: string; issuer?: string; assertionConsumerServiceURL?: string; destination?: string; forceAuthn?: string; } export interface ProfileMapper { metadata: MetadataItem[]; getClaims(): any; getNameIdentifier(): any; } export interface ProfileMapperConstructor { (pu: passport.Profile): ProfileMapper; prototype: ProfileMapper; } export var PassportProfileMapper: ProfileMapperConstructor; export interface MetadataItem { id: string; optional: boolean; displayName: string; description: string; } }