auth-backend: replace Logger with LoggerService

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
Patrik Oldsberg
2023-05-14 12:59:51 +02:00
parent 8c91cf91e8
commit 863cb026b0
12 changed files with 26 additions and 24 deletions
+1
View File
@@ -33,6 +33,7 @@
},
"dependencies": {
"@backstage/backend-common": "workspace:^",
"@backstage/backend-plugin-api": "workspace:^",
"@backstage/catalog-client": "workspace:^",
"@backstage/catalog-model": "workspace:^",
"@backstage/config": "workspace:^",
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { Logger } from 'winston';
import { LoggerService } from '@backstage/backend-plugin-api';
import {
DocumentData,
Firestore,
@@ -57,7 +57,7 @@ export class FirestoreKeyStore implements KeyStore {
static async verifyConnection(
keyStore: FirestoreKeyStore,
logger?: Logger,
logger?: LoggerService,
): Promise<void> {
try {
await keyStore.verify();
@@ -15,7 +15,7 @@
*/
import { pickBy } from 'lodash';
import { Logger } from 'winston';
import { LoggerService } from '@backstage/backend-plugin-api';
import { Config } from '@backstage/config';
@@ -26,7 +26,7 @@ import { MemoryKeyStore } from './MemoryKeyStore';
import { KeyStore } from './types';
type Options = {
logger: Logger;
logger: LoggerService;
database: AuthDatabase;
};
@@ -18,14 +18,14 @@ import { AuthenticationError } from '@backstage/errors';
import { exportJWK, generateKeyPair, importJWK, JWK, SignJWT } from 'jose';
import { DateTime } from 'luxon';
import { v4 as uuid } from 'uuid';
import { Logger } from 'winston';
import { LoggerService } from '@backstage/backend-plugin-api';
import { AnyJWK, KeyStore, TokenIssuer, TokenParams } from './types';
const MS_IN_S = 1000;
type Options = {
logger: Logger;
logger: LoggerService;
/** Value of the issuer claim in issued tokens */
issuer: string;
/** Key store used for storing signing keys */
@@ -57,7 +57,7 @@ type Options = {
*/
export class TokenFactory implements TokenIssuer {
private readonly issuer: string;
private readonly logger: Logger;
private readonly logger: LoggerService;
private readonly keyStore: KeyStore;
private readonly keyDurationSeconds: number;
private readonly algorithm: string;
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { Logger } from 'winston';
import { LoggerService } from '@backstage/backend-plugin-api';
import { ConflictError, NotFoundError } from '@backstage/errors';
import { CatalogApi } from '@backstage/catalog-client';
import {
@@ -78,7 +78,7 @@ export class CatalogIdentityClient {
*/
async resolveCatalogMembership(query: {
entityRefs: string[];
logger?: Logger;
logger?: LoggerService;
}): Promise<string[]> {
const { entityRefs, logger } = query;
const resolvedEntityRefs = entityRefs
@@ -24,7 +24,7 @@ import {
stringifyEntityRef,
} from '@backstage/catalog-model';
import { ConflictError, InputError, NotFoundError } from '@backstage/errors';
import { Logger } from 'winston';
import { LoggerService } from '@backstage/backend-plugin-api';
import { TokenIssuer, TokenParams } from '../../identity/types';
import { AuthResolverContext } from '../../providers';
import { AuthResolverCatalogUserQuery } from '../../providers/types';
@@ -54,7 +54,7 @@ export function getDefaultOwnershipEntityRefs(entity: Entity) {
*/
export class CatalogAuthResolverContext implements AuthResolverContext {
static create(options: {
logger: Logger;
logger: LoggerService;
catalogApi: CatalogApi;
tokenIssuer: TokenIssuer;
tokenManager: TokenManager;
@@ -73,7 +73,7 @@ export class CatalogAuthResolverContext implements AuthResolverContext {
}
private constructor(
public readonly logger: Logger,
public readonly logger: LoggerService,
public readonly tokenIssuer: TokenIssuer,
public readonly catalogIdentityClient: CatalogIdentityClient,
private readonly catalogApi: CatalogApi,
@@ -47,7 +47,7 @@ import {
commonByEmailLocalPartResolver,
commonByEmailResolver,
} from '../resolvers';
import { Logger } from 'winston';
import { LoggerService } from '@backstage/backend-plugin-api';
import fetch from 'node-fetch';
import { decodeJwt } from 'jose';
import { Profile as PassportProfile } from 'passport';
@@ -60,7 +60,7 @@ type PrivateInfo = {
type Options = OAuthProviderOptions & {
signInResolver?: SignInResolver<OAuthResult>;
authHandler: AuthHandler<OAuthResult>;
logger: Logger;
logger: LoggerService;
resolverContext: AuthResolverContext;
authorizationUrl?: string;
tokenUrl?: string;
@@ -70,7 +70,7 @@ export class MicrosoftAuthProvider implements OAuthHandlers {
private readonly _strategy: MicrosoftStrategy;
private readonly signInResolver?: SignInResolver<OAuthResult>;
private readonly authHandler: AuthHandler<OAuthResult>;
private readonly logger: Logger;
private readonly logger: LoggerService;
private readonly resolverContext: AuthResolverContext;
constructor(options: Options) {
@@ -22,7 +22,7 @@ jest.mock('@backstage/catalog-client');
import { AuthenticationError } from '@backstage/errors';
import express from 'express';
import * as jose from 'jose';
import { Logger } from 'winston';
import { LoggerService } from '@backstage/backend-plugin-api';
import { AuthHandler, AuthResolverContext, SignInResolver } from '../types';
import {
oauth2Proxy,
@@ -36,7 +36,7 @@ describe('Oauth2ProxyAuthProvider', () => {
'eyblob.eyJzdWIiOiJ1c2VyOmRlZmF1bHQvamltbXltYXJrdW0iLCJlbnQiOlsidXNlcjpkZWZhdWx0L2ppbW15bWFya3VtIl19.eyblob';
let provider: Oauth2ProxyAuthProvider<any>;
let logger: jest.Mocked<Logger>;
let logger: jest.Mocked<LoggerService>;
let signInResolver: jest.MockedFunction<
SignInResolver<OAuth2ProxyResult<any>>
>;
@@ -53,7 +53,7 @@ describe('Oauth2ProxyAuthProvider', () => {
>;
authHandler = jest.fn();
signInResolver = jest.fn();
logger = { error: jest.fn() } as unknown as jest.Mocked<Logger>;
logger = { error: jest.fn() } as unknown as jest.Mocked<LoggerService>;
mockResponse = {
status: jest.fn(),
+2 -2
View File
@@ -22,7 +22,7 @@ import {
BackstageSignInResult,
} from '@backstage/plugin-auth-node';
import express from 'express';
import { Logger } from 'winston';
import { LoggerService } from '@backstage/backend-plugin-api';
import { TokenParams } from '../identity/types';
import { OAuthStartRequest } from '../lib/oauth/types';
@@ -207,7 +207,7 @@ export type AuthProviderFactory = (options: {
providerId: string;
globalConfig: AuthProviderConfig;
config: Config;
logger: Logger;
logger: LoggerService;
resolverContext: AuthResolverContext;
}) => AuthProviderRouteHandlers;
+2 -2
View File
@@ -17,7 +17,7 @@
import express from 'express';
import Router from 'express-promise-router';
import cookieParser from 'cookie-parser';
import { Logger } from 'winston';
import { LoggerService } from '@backstage/backend-plugin-api';
import {
defaultAuthProviderFactories,
AuthProviderFactory,
@@ -44,7 +44,7 @@ export type ProviderFactories = { [s: string]: AuthProviderFactory };
/** @public */
export interface RouterOptions {
logger: Logger;
logger: LoggerService;
database: PluginDatabaseManager;
config: Config;
discovery: PluginEndpointDiscovery;
@@ -23,11 +23,11 @@ import {
} from '@backstage/backend-common';
import { Server } from 'http';
import Knex from 'knex';
import { Logger } from 'winston';
import { LoggerService } from '@backstage/backend-plugin-api';
import { createRouter } from './router';
export interface ServerOptions {
logger: Logger;
logger: LoggerService;
}
export async function startStandaloneServer(
+1
View File
@@ -4581,6 +4581,7 @@ __metadata:
resolution: "@backstage/plugin-auth-backend@workspace:plugins/auth-backend"
dependencies:
"@backstage/backend-common": "workspace:^"
"@backstage/backend-plugin-api": "workspace:^"
"@backstage/backend-test-utils": "workspace:^"
"@backstage/catalog-client": "workspace:^"
"@backstage/catalog-model": "workspace:^"