@bitrix24/b24jssdk
Version:
Bitrix24 REST API JavaScript SDK
1 lines • 6.21 kB
Source Map (JSON)
{"version":3,"file":"b24.mjs","sources":["../../../src/oauth/b24.ts"],"sourcesContent":["import type { AuthActions, B24OAuthParams, B24OAuthSecret, CallbackRefreshAuth, CustomRefreshAuth } from '../types/auth'\nimport type { RestrictionParams } from '../types/limiters'\nimport type { TypeB24, ApiVersion } from '../types/b24'\nimport { AbstractB24 } from '../core/abstract-b24'\nimport { HttpV2 } from '../core/http/v2'\nimport { HttpV3 } from '../core/http/v3'\nimport { AuthOAuthManager } from './auth'\nimport { versionManager } from '../core/version-manager'\n\n/**\n * B24.OAuth Manager\n *\n * @link https://apidocs.bitrix24.com/settings/oauth/index.html\n * @link https://bitrix24.github.io/b24jssdk/docs/oauth/\n *\n * @todo add docs\n */\nexport class B24OAuth extends AbstractB24 implements TypeB24 {\n readonly #authOAuthManager: AuthOAuthManager\n\n // region Init ////\n constructor(\n authOptions: B24OAuthParams,\n oAuthSecret: B24OAuthSecret,\n options?: {\n restrictionParams?: Partial<RestrictionParams>\n }\n ) {\n super()\n\n this.#authOAuthManager = new AuthOAuthManager(\n authOptions,\n oAuthSecret\n )\n\n const warningText = 'The B24OAuth object is intended exclusively for use on the server.\\nA webhook contains a secret access key, which MUST NOT be used in client-side code (browser, mobile app).'\n\n this._httpV2 = new HttpV2(this.#authOAuthManager, this._getHttpOptions(), options?.restrictionParams)\n this._httpV2.setClientSideWarning(true, warningText)\n this._httpV3 = new HttpV3(this.#authOAuthManager, this._getHttpOptions(), options?.restrictionParams)\n this._httpV3.setClientSideWarning(true, warningText)\n\n this._isInit = true\n }\n\n /**\n * Used to initialize information about the current user.\n *\n * @todo test this\n */\n public async initIsAdmin(requestId?: string): Promise<void> {\n const method = 'profile'\n\n this._ensureInitialized()\n try {\n const version = versionManager.automaticallyObtainApiVersion(method)\n const client = this.getHttpClient(version)\n return this.#authOAuthManager.initIsAdmin(client, requestId)\n } catch {\n return\n }\n }\n\n /**\n * Sets an asynchronous Callback to receive updated authorization data\n * @param cb\n */\n public setCallbackRefreshAuth(cb: CallbackRefreshAuth): void {\n this._ensureInitialized()\n this.#authOAuthManager.setCallbackRefreshAuth(cb)\n }\n\n /**\n * Removes Callback to receive updated authorization data\n */\n public removeCallbackRefreshAuth(): void {\n this._ensureInitialized()\n this.#authOAuthManager.removeCallbackRefreshAuth()\n }\n\n /**\n * Sets an asynchronous function for custom get new refresh token\n * @param cb\n */\n public setCustomRefreshAuth(cb: CustomRefreshAuth): void {\n this._ensureInitialized()\n this.#authOAuthManager.setCustomRefreshAuth(cb)\n }\n\n /**\n * Removes function for custom get new refresh token\n */\n public removeCustomRefreshAuth(): void {\n this._ensureInitialized()\n this.#authOAuthManager.removeCustomRefreshAuth()\n }\n // endregion ////\n\n // region Core ////\n /**\n * Disables warning about client-side query execution\n */\n public offClientSideWarning(): void {\n versionManager.getAllApiVersions().forEach((version) => {\n this.getHttpClient(version).setClientSideWarning(false, '')\n })\n }\n // endregion ////\n\n override get auth(): AuthActions {\n return this.#authOAuthManager\n }\n\n // region Get ////\n /**\n * @inheritDoc\n */\n public override getTargetOrigin(): string {\n this._ensureInitialized()\n return this.#authOAuthManager.getTargetOrigin()\n }\n\n /**\n * @inheritDoc\n */\n public override getTargetOriginWithPath(): Map<ApiVersion, string> {\n this._ensureInitialized()\n return this.#authOAuthManager.getTargetOriginWithPath()\n }\n // endregion ////\n\n // region Tools ////\n // endregion ////\n}\n"],"names":[],"mappings":"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"}