diff --git a/src/libs/fs.ts b/src/libs/fs.ts index 8e0303a..92ea3b0 100644 --- a/src/libs/fs.ts +++ b/src/libs/fs.ts @@ -17,6 +17,7 @@ export interface FastSchemaOptionsWithAuthStore extends FastSchemaBaseOptions { export type FastSchemaOptions = (FastSchemaOptionsWithAuthKey | FastSchemaOptionsWithAuthStore) & { authCookieName?: string; authDisableAutoHeader?: boolean; + authUseXAuthTokenHeader?: boolean; }; export class FastSchema { @@ -42,6 +43,7 @@ export class FastSchema { this._request = opts?.request ?? new FsRequest(this.appUrl, { authCookieName: this._opts.authCookieName, authDisableAutoHeader: this._opts.authDisableAutoHeader, + authUseXAuthTokenHeader: this._opts.authUseXAuthTokenHeader, getAuthToken: this._authStore.getToken.bind(this._authStore), }); this._auth = new Auth(this._authStore, this._request); diff --git a/src/libs/request.ts b/src/libs/request.ts index 66666db..25d234a 100644 --- a/src/libs/request.ts +++ b/src/libs/request.ts @@ -8,6 +8,7 @@ export interface FsRequestOptions { apiBaseName?: string; authCookieName?: string; authDisableAutoHeader?: boolean; + authUseXAuthTokenHeader?: boolean; getAuthToken: (authKey?: string) => Promise; } @@ -78,10 +79,14 @@ export class FsRequest { } if (authToken) { + if (this.opts.authUseXAuthTokenHeader) { + requestHeaders['X-Auth-Token'] = authToken; + return requestHeaders; + } + if (this.opts.authCookieName) { const existingCookies = requestHeaders['Cookie'] ? requestHeaders['Cookie'] + '; ' : ''; requestHeaders['Cookie'] = `${existingCookies}${this.opts.authCookieName}=${authToken}`; - console.log(requestHeaders); return requestHeaders; }