graphdb-workbench
Version:
The web application for GraphDB APIs
57 lines (56 loc) • 1.89 kB
TypeScript
/**
* Builds OpenID Connect URLs for authentication and logout operations.
*
* Constructs properly formatted URLs with required parameters based on
* the configured authentication flow (PKCE, implicit, etc.).
*/
export declare class OpenIdUrlBuilder {
private readonly securityContextService;
/**
* Builds the authorization URL for login with all required parameters.
* @param state Random state value for CSRF protection
* @param codeChallenge PKCE code challenge (used for code flows)
* @param redirectUrl URL to redirect to after authentication
* @returns Complete authorization URL
*/
buildLoginUrl(state: string, codeChallenge: string, redirectUrl: string): string;
/**
* Builds the logout URL with post-logout redirect.
* @param redirectUrl URL to redirect to after logout
* @returns Complete logout URL
*/
buildLogoutUrl(redirectUrl: string): string;
/**
* Gets OpenID security config from context.
* @returns {OpenidSecurityConfig} OpenID config
* @throws {OpenIdError} If no config
*/
private getOpenIdConfig;
/**
* Determines the OAuth2 response type based on configured auth flow.
* @private
* @returns Response type ('code' or 'token')
*/
private getResponseType;
/**
* Builds base OAuth2 parameters required for all flows.
* @private
*/
private buildBaseParameters;
/**
* Builds parameters specific to the configured authentication flow.
* @private
*/
private buildFlowSpecificParameters;
/**
* Builds additional optional parameters from configuration.
* @private
*/
private buildAdditionalParameters;
/**
* Constructs the OAuth2 scope string with required and optional scopes.
* @private
* @returns Space-separated scope string
*/
private getScope;
}