mirror of
https://github.com/CommunitySolidServer/CommunitySolidServer.git
synced 2024-10-03 14:55:10 +00:00
25 lines
889 B
TypeScript
25 lines
889 B
TypeScript
import { getLoggerFor } from 'global-logger-factory';
|
|
import type { Credentials } from './Credentials';
|
|
import { CredentialsExtractor } from './CredentialsExtractor';
|
|
|
|
/**
|
|
* Credentials extractor that authenticates a constant agent
|
|
* (useful for development or debugging purposes).
|
|
*/
|
|
export class UnsecureConstantCredentialsExtractor extends CredentialsExtractor {
|
|
private readonly credentials: Credentials;
|
|
private readonly logger = getLoggerFor(this);
|
|
|
|
public constructor(agent: string);
|
|
public constructor(agent: Credentials['agent']);
|
|
public constructor(agent: string | Credentials['agent']) {
|
|
super();
|
|
this.credentials = { agent: typeof agent === 'string' ? { webId: agent } : agent };
|
|
}
|
|
|
|
public async handle(): Promise<Credentials> {
|
|
this.logger.info(`Agent unsecurely claims to be ${this.credentials.agent!.webId}`);
|
|
return this.credentials;
|
|
}
|
|
}
|