/** * @file entity-sp.ts * @author tngan * @desc Declares the actions taken by service provider */ import Entity, { BindingContext, PostBindingContext, ESamlHttpRequest, ParseResult } from './entity'; import { IdentityProviderConstructor as IdentityProvider, ServiceProviderMetadata, ServiceProviderSettings } from './types'; export default function (props: ServiceProviderSettings): ServiceProvider; /** * @desc Service provider can be configured using either metadata importing or spSetting * @param {object} spSetting * @param {string} meta */ export declare class ServiceProvider extends Entity { entityMeta: ServiceProviderMetadata; /** * @desc Inherited from Entity * @param {object} spSetting setting of service provider * @param {string} meta metadata */ constructor(spSetting: ServiceProviderSettings); /** * @desc Generates the login request for developers to design their own method * @param {IdentityProvider} idp object of identity provider * @param {string} binding protocol binding * @param {function} customTagReplacement used when developers have their own login response template */ createLoginRequest(idp: IdentityProvider, binding?: string, customTagReplacement?: (...args: any[]) => any): BindingContext | PostBindingContext; /** * @desc Validation of the parsed the URL parameters * @param {IdentityProvider} idp object of identity provider * @param {string} binding protocol binding * @param {request} req request */ parseLoginResponse(idp: any, binding: any, req: ESamlHttpRequest): Promise; }