Member Junction
    Preparing search index...

    Main orchestrator for OAuth 2.1 flows in MCP connections.

    Coordinates all OAuth operations including:

    • Authorization server metadata discovery
    • Dynamic client registration (DCR)
    • Authorization code flow with PKCE
    • Token storage and refresh
    const oauth = new OAuthManager();

    // Try to get an access token (may throw OAuthAuthorizationRequiredError)
    try {
    const accessToken = await oauth.getAccessToken(connectionId, serverConfig, contextUser);
    // Use access token for API calls
    } catch (error) {
    if (error instanceof OAuthAuthorizationRequiredError) {
    // Redirect user to error.authorizationUrl
    }
    }
    Index

    Constructors

    Methods

    • Gets a valid access token for an OAuth-protected connection.

      If valid tokens exist, returns the access token. If tokens are expired but refresh token is valid, refreshes and returns. If no valid tokens, throws OAuthAuthorizationRequiredError with authorization URL.

      Parameters

      • connectionId: string

        MCP Server Connection ID

      • serverId: string

        MCP Server ID

      • oauthConfig: MCPServerOAuthConfig

        OAuth configuration from MCP Server

      • publicUrl: string

        MJAPI public URL for callbacks

      • contextUser: UserInfo

        User context

      Returns Promise<string>

      Valid access token

      OAuthAuthorizationRequiredError if user authorization is needed

      OAuthReauthorizationRequiredError if refresh failed and re-auth is needed

    • Handles an OAuth callback error.

      Parameters

      • stateParameter: string

        The state parameter

      • errorCode: string

        OAuth error code

      • errorDescription: string

        Error description

      • contextUser: UserInfo

        User context

      Returns Promise<void>

    • Initiates an OAuth authorization flow.

      Creates authorization URL with PKCE and stores state in database. The user should be redirected to the returned URL to complete consent.

      Parameters

      • connectionId: string

        MCP Server Connection ID

      • serverId: string

        MCP Server ID

      • oauthConfig: MCPServerOAuthConfig

        OAuth configuration

      • publicUrl: string

        MJAPI public URL for callbacks

      • contextUser: UserInfo

        User context

      • Optionaloptions: { frontendCallbackUrl?: string; frontendReturnUrl?: string }

        Additional options

        • OptionalfrontendCallbackUrl?: string

          URL to use as redirect_uri (frontend handles the callback)

        • OptionalfrontendReturnUrl?: string

          URL to redirect to after OAuth completion

      Returns Promise<InitiateAuthorizationResult>

      Authorization initiation result with URL

    • Marks a connection as requiring re-authorization.

      Clears stored tokens and returns a message for the user.

      Parameters

      • connectionId: string

        MCP Server Connection ID

      • reason: string

        Reason for re-authorization

      • contextUser: UserInfo

        User context

      Returns Promise<void>