Class: OAuthClientManager
Defined in: src/auth/oauth/oauth-client.ts:277
OAuth client manager.
Remarks
Manages OAuth client registration, validation, and lookup. Clients are stored in Redis for scalability.
Example
const clientManager = new OAuthClientManager({
redis,
logger,
});
// Register a new client
const { client, clientSecret } = await clientManager.registerClient({
clientName: 'My App',
clientType: 'public',
redirectUris: ['https://myapp.com/callback'],
});
// Validate client
const valid = await clientManager.validateClient(clientId, clientSecret);
Constructors
new OAuthClientManager()
new OAuthClientManager(
options):OAuthClientManager
Defined in: src/auth/oauth/oauth-client.ts:287
Creates a new OAuthClientManager.
Parameters
options
Manager options
Returns
Methods
deactivateClient()
deactivateClient(
clientId):Promise<void>
Defined in: src/auth/oauth/oauth-client.ts:440
Deactivates a client.
Parameters
clientId
string
Client identifier
Returns
Promise<void>
getClient()
getClient(
clientId):Promise<null|OAuthClient>
Defined in: src/auth/oauth/oauth-client.ts:362
Gets a client by ID.
Parameters
clientId
string
Client identifier
Returns
Promise<null | OAuthClient>
Client or null if not found
registerClient()
registerClient(
request):Promise<ClientRegistrationResponse>
Defined in: src/auth/oauth/oauth-client.ts:299
Registers a new OAuth client.
Parameters
request
Registration request
Returns
Promise<ClientRegistrationResponse>
Registered client and secret (if confidential)
rotateClientSecret()
rotateClientSecret(
clientId):Promise<string>
Defined in: src/auth/oauth/oauth-client.ts:463
Rotates client secret.
Parameters
clientId
string
Client identifier
Returns
Promise<string>
New client secret
Throws
OAuthError if client is public or not found
validateClient()
validateClient(
clientId,clientSecret?):Promise<boolean>
Defined in: src/auth/oauth/oauth-client.ts:380
Validates client credentials.
Parameters
clientId
string
Client identifier
clientSecret?
string
Client secret (optional for public clients)
Returns
Promise<boolean>
True if credentials are valid
validateRedirectUri()
validateRedirectUri(
clientId,redirectUri):Promise<boolean>
Defined in: src/auth/oauth/oauth-client.ts:408
Validates a redirect URI for a client.
Parameters
clientId
string
Client identifier
redirectUri
string
Redirect URI to validate
Returns
Promise<boolean>
True if URI is registered for client
validateScopes()
validateScopes(
clientId,scopes):Promise<string[]>
Defined in: src/auth/oauth/oauth-client.ts:425
Validates requested scopes for a client.
Parameters
clientId
string
Client identifier
scopes
readonly string[]
Requested scopes
Returns
Promise<string[]>
Array of allowed scopes (may be subset of requested)