UNPKG

@minimaltech/node-infra

Version:

Minimal Technology NodeJS Infrastructure - Loopback 4 Framework

53 lines (52 loc) 1.69 kB
import { BaseApplication } from '../../../base/applications'; import { RequestContext } from '@loopback/rest'; import { Request, Response, Token } from '@node-oauth/oauth2-server'; import { BaseService } from '../../../base/services'; import { SignInRequest } from '../common'; import { OAuth2Handler } from '../oauth2-handlers'; import { OAuth2ClientRepository } from '../repositories'; export declare class OAuth2Service extends BaseService { private application; private handler; private oauth2ClientRepository; private aes; constructor(application: BaseApplication, handler: OAuth2Handler, oauth2ClientRepository: OAuth2ClientRepository); encryptClientToken(opts: { clientId: string; clientSecret: string; }): string; decryptClientToken(opts: { token: string; }): { clientId: string; clientSecret: string; }; getOAuth2RequestPath(opts: { clientId: string; clientSecret: string; redirectUrl: string; }): Promise<{ requestPath: string; }>; generateToken(opts: { request: Request; response: Response; }): Promise<Token>; authorize(opts: { request: Request; response: Response; }): Promise<import("@node-oauth/oauth2-server").AuthorizationCode>; doOAuth2(opts: { context: Pick<RequestContext, 'request' | 'response'>; authServiceKey: string; signInRequest: SignInRequest; redirectUrl?: string; }): Promise<{ redirectUrl: string; oauth2TokenRs: Token; }>; doClientCallback(opts: { c: string; oauth2Token: Token; }): Promise<void>; }