Backstage
    Preparing search index...

    Extension point for providing custom authentication to the Elasticsearch search engine.

    Use this extension point to provide dynamic authentication mechanisms such as bearer tokens with automatic rotation. When an auth provider is set, it takes precedence over any static authentication configured in app-config.yaml.

    import { createBackendModule } from '@backstage/backend-plugin-api';
    import { elasticsearchAuthExtensionPoint } from '@backstage/plugin-search-backend-module-elasticsearch';

    export default createBackendModule({
    pluginId: 'search',
    moduleId: 'elasticsearch-custom-auth',
    register(env) {
    env.registerInit({
    deps: {
    elasticsearchAuth: elasticsearchAuthExtensionPoint,
    },
    async init({ elasticsearchAuth }) {
    elasticsearchAuth.setAuthProvider({
    async getAuthHeaders() {
    const token = await fetchTokenFromIdentityService();
    return { Authorization: `Bearer ${token}` };
    },
    });
    },
    });
    },
    });
    interface ElasticSearchAuthExtensionPoint {
        setAuthProvider(provider: ElasticSearchAuthProvider): void;
    }
    Index

    Methods