feat: formatAccessToken

This commit is contained in:
Leandro Costa 2023-11-09 12:17:14 -03:00
parent aef30ee29a
commit 64f546ab7a
2 changed files with 8 additions and 7 deletions

View file

@ -18,7 +18,7 @@ export interface LhispOauthClientConstructorParams {
grantType?: string; grantType?: string;
authContentType?: ContentType; authContentType?: ContentType;
sendAuthCredentialsOnRequestBody?: boolean; sendAuthCredentialsOnRequestBody?: boolean;
forceTokenTypeToCamelCase?: boolean; formatAccessToken?: (accessToken?: AccessToken) => string;
debug?: boolean; debug?: boolean;
} }

View file

@ -32,7 +32,7 @@ export class LhispOauthClient<iAccessToken extends AccessToken = AccessToken> {
protected tokenCreatedAt = 0; protected tokenCreatedAt = 0;
protected tokenExpiresIn = 0; protected tokenExpiresIn = 0;
protected sendAuthCredentialsOnRequestBody?: boolean; protected sendAuthCredentialsOnRequestBody?: boolean;
protected forceTokenTypeToCamelCase?: boolean; protected formatAccessToken?: (accessToken?: iAccessToken) => string;
constructor(params: LhispOauthClientConstructorParams) { constructor(params: LhispOauthClientConstructorParams) {
if (params.certificado) { if (params.certificado) {
@ -59,7 +59,7 @@ export class LhispOauthClient<iAccessToken extends AccessToken = AccessToken> {
this.authHeaderName = params.authHeaderName || defaultAuthHeaderName; this.authHeaderName = params.authHeaderName || defaultAuthHeaderName;
this.tokenHeaderName = params.tokenHeaderName || defaultTokenHeaderName; this.tokenHeaderName = params.tokenHeaderName || defaultTokenHeaderName;
this.sendAuthCredentialsOnRequestBody = params.sendAuthCredentialsOnRequestBody; this.sendAuthCredentialsOnRequestBody = params.sendAuthCredentialsOnRequestBody;
this.forceTokenTypeToCamelCase = params.forceTokenTypeToCamelCase; this.formatAccessToken = params.formatAccessToken;
} }
getAuthHeaderValue(): string { getAuthHeaderValue(): string {
@ -133,10 +133,11 @@ export class LhispOauthClient<iAccessToken extends AccessToken = AccessToken> {
} }
getAuthToken() { getAuthToken() {
const tokenType = this.forceTokenTypeToCamelCase if (this.formatAccessToken) {
? `${this.accessToken?.token_type?.[0]?.toUpperCase()}${this.accessToken?.token_type?.substring(1)}` return this.formatAccessToken(this.accessToken);
: this.accessToken?.token_type; }
return `${tokenType} ${this.accessToken?.access_token}`;
return `${this.accessToken?.token_type} ${this.accessToken?.access_token}`;
} }
async executarRequest<ResponseType>({ async executarRequest<ResponseType>({