plugins: generate api reports

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
Patrik Oldsberg
2021-06-17 11:00:16 +02:00
parent 5429bfa69e
commit d8d7226fce
54 changed files with 5209 additions and 0 deletions
+211
View File
@@ -0,0 +1,211 @@
## API Report File for "@backstage/plugin-auth-backend"
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
```ts
import { CatalogApi } from '@backstage/catalog-client';
import { Config } from '@backstage/config';
import express from 'express';
import { JSONWebKey } from 'jose';
import { Logger } from 'winston';
import { PluginDatabaseManager } from '@backstage/backend-common';
import { PluginEndpointDiscovery } from '@backstage/backend-common';
import { Profile } from 'passport';
// @public (undocumented)
export type AuthProviderFactory = (options: AuthProviderFactoryOptions) => AuthProviderRouteHandlers;
// @public (undocumented)
export type AuthProviderFactoryOptions = {
providerId: string;
globalConfig: AuthProviderConfig;
config: Config;
logger: Logger;
tokenIssuer: TokenIssuer;
discovery: PluginEndpointDiscovery;
catalogApi: CatalogApi;
identityResolver?: ExperimentalIdentityResolver;
};
// @public
export interface AuthProviderRouteHandlers {
frameHandler(req: express.Request, res: express.Response): Promise<void>;
logout?(req: express.Request, res: express.Response): Promise<void>;
refresh?(req: express.Request, res: express.Response): Promise<void>;
start(req: express.Request, res: express.Response): Promise<void>;
}
// @public (undocumented)
export type AuthResponse<ProviderInfo> = {
providerInfo: ProviderInfo;
profile: ProfileInfo;
backstageIdentity?: BackstageIdentity;
};
// @public (undocumented)
export type BackstageIdentity = {
id: string;
idToken?: string;
};
// @public (undocumented)
export function createRouter({ logger, config, discovery, database, providerFactories, }: RouterOptions): Promise<express.Router>;
// @public (undocumented)
export const defaultAuthProviderFactories: {
[providerId: string]: AuthProviderFactory;
};
// @public (undocumented)
export const encodeState: (state: OAuthState) => string;
// @public (undocumented)
export const ensuresXRequestedWith: (req: express.Request) => boolean;
// @public
export class IdentityClient {
constructor(options: {
discovery: PluginEndpointDiscovery;
issuer: string;
});
authenticate(token: string | undefined): Promise<BackstageIdentity>;
static getBearerToken(authorizationHeader: string | undefined): string | undefined;
listPublicKeys(): Promise<{
keys: JSONWebKey[];
}>;
}
// @public (undocumented)
export class OAuthAdapter implements AuthProviderRouteHandlers {
constructor(handlers: OAuthHandlers, options: Options);
// (undocumented)
frameHandler(req: express.Request, res: express.Response): Promise<void>;
// (undocumented)
static fromConfig(config: AuthProviderConfig, handlers: OAuthHandlers, options: Pick<Options, 'providerId' | 'persistScopes' | 'disableRefresh' | 'tokenIssuer'>): OAuthAdapter;
// (undocumented)
logout(req: express.Request, res: express.Response): Promise<void>;
// (undocumented)
refresh(req: express.Request, res: express.Response): Promise<void>;
// (undocumented)
start(req: express.Request, res: express.Response): Promise<void>;
}
// @public (undocumented)
export class OAuthEnvironmentHandler implements AuthProviderRouteHandlers {
constructor(handlers: Map<string, AuthProviderRouteHandlers>);
// (undocumented)
frameHandler(req: express.Request, res: express.Response): Promise<void>;
// (undocumented)
logout(req: express.Request, res: express.Response): Promise<void>;
// (undocumented)
static mapConfig(config: Config, factoryFunc: (envConfig: Config) => AuthProviderRouteHandlers): OAuthEnvironmentHandler;
// (undocumented)
refresh(req: express.Request, res: express.Response): Promise<void>;
// (undocumented)
start(req: express.Request, res: express.Response): Promise<void>;
}
// @public
export interface OAuthHandlers {
handler(req: express.Request): Promise<{
response: AuthResponse<OAuthProviderInfo>;
refreshToken?: string;
}>;
logout?(): Promise<void>;
refresh?(req: OAuthRefreshRequest): Promise<AuthResponse<OAuthProviderInfo>>;
start(req: OAuthStartRequest): Promise<RedirectInfo>;
}
// @public (undocumented)
export type OAuthProviderInfo = {
accessToken: string;
idToken?: string;
expiresInSeconds?: number;
scope: string;
refreshToken?: string;
};
// @public
export type OAuthProviderOptions = {
clientId: string;
clientSecret: string;
callbackUrl: string;
};
// @public (undocumented)
export type OAuthRefreshRequest = express.Request<{}> & {
scope: string;
refreshToken: string;
};
// @public (undocumented)
export type OAuthResponse = AuthResponse<OAuthProviderInfo>;
// @public (undocumented)
export type OAuthResult = {
fullProfile: Profile;
params: {
id_token?: string;
scope: string;
expires_in: number;
};
accessToken: string;
refreshToken?: string;
};
// @public (undocumented)
export type OAuthStartRequest = express.Request<{}> & {
scope: string;
state: OAuthState;
};
// @public (undocumented)
export type OAuthState = {
nonce: string;
env: string;
};
// @public (undocumented)
export const postMessageResponse: (res: express.Response, appOrigin: string, response: WebMessageResponse) => void;
// @public
export type ProfileInfo = {
email?: string;
displayName?: string;
picture?: string;
};
// @public (undocumented)
export const readState: (stateString: string) => OAuthState;
// @public (undocumented)
export interface RouterOptions {
// (undocumented)
config: Config;
// (undocumented)
database: PluginDatabaseManager;
// (undocumented)
discovery: PluginEndpointDiscovery;
// (undocumented)
logger: Logger;
// (undocumented)
providerFactories?: ProviderFactories;
}
// @public (undocumented)
export const verifyNonce: (req: express.Request, providerId: string) => void;
// @public
export type WebMessageResponse = {
type: 'authorization_response';
response: AuthResponse<unknown>;
} | {
type: 'authorization_response';
error: Error;
};
// (No @packageDocumentation comment for this package)
```