capacitor-native-google-one-tap-signin 6.0.2 → 6.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +2 -2
- package/dist/esm/web.js +1 -1
- package/dist/esm/web.js.map +1 -1
- package/dist/plugin.cjs.js +1 -1
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +1 -1
- package/dist/plugin.js.map +1 -1
- package/package.json +3 -3
package/android/build.gradle
CHANGED
|
@@ -4,14 +4,14 @@ buildscript {
|
|
|
4
4
|
google()
|
|
5
5
|
}
|
|
6
6
|
dependencies {
|
|
7
|
-
classpath 'com.android.tools.build:gradle:8.
|
|
7
|
+
classpath 'com.android.tools.build:gradle:8.2.1'
|
|
8
8
|
classpath 'com.google.gms:google-services:4.4.2'
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
plugins {
|
|
13
13
|
id "com.android.library"
|
|
14
|
-
id "org.jetbrains.kotlin.android" version "
|
|
14
|
+
id "org.jetbrains.kotlin.android" version "1.9.10"
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
android {
|
package/dist/esm/web.js
CHANGED
|
@@ -179,7 +179,7 @@ export class GoogleOneTapAuthWeb extends WebPlugin {
|
|
|
179
179
|
handleCredentialResponse(credentialResponse, resolveSignInFunc) {
|
|
180
180
|
let signInResult = {
|
|
181
181
|
idToken: credentialResponse.credential,
|
|
182
|
-
isAutoSelect: credentialResponse.
|
|
182
|
+
isAutoSelect: credentialResponse.select_by === 'auto',
|
|
183
183
|
};
|
|
184
184
|
resolveSignInFunc(signInResult);
|
|
185
185
|
}
|
package/dist/esm/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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","sourcesContent":["import { WebPlugin } from '@capacitor/core';\nimport { InitializeOptions, SignInResultOption, SuccessSignInResult, NoSuccessSignInResult, SignOutResult, RenderSignInButtonOptions, RenderSignInButtonWebOptions } from './definitions';\nimport { assert, loadScript } from './helpers';\nimport type { NotEnrichedSuccessSignInResult } from './definitionsInternal';\nimport { type IdConfiguration } from 'google-one-tap';\n\n// Workaround for 'error TS2686: 'google' refers to a UMD global, but the current file is a module. Consider adding an import instead.'\ndeclare var google: {\n accounts: google.accounts\n};\n\ntype ResolveSignInFunc = (result: NotEnrichedSuccessSignInResult) => void;\n\ntype IdentityCredential = Credential & { isAutoSelect: boolean, token: string }\n\nenum FedCMSignInResult { SUCCESS, CANCELLED, OTHER_ERROR }\n\n// See https://developers.google.com/identity/gsi/web/guides/use-one-tap-js-api\nexport class GoogleOneTapAuthWeb extends WebPlugin {\n gsiScriptUrl = 'https://accounts.google.com/gsi/client';\n gapiLoadedPromise?: Promise<void> = undefined;\n initializeOptions?: InitializeOptions = undefined;\n isGapiLoadRequested = false;\n fedCMAbortController?: AbortController = undefined;\n cancelCalledAbortReason = 'CANCEL_CALLED';\n\n async initialize(options: InitializeOptions): Promise<void> {\n this.initializeOptions = options;\n if (!this.gapiLoadedPromise) {\n this.gapiLoadedPromise = loadScript(this.gsiScriptUrl);\n this.isGapiLoadRequested = true;\n }\n return this.gapiLoadedPromise;\n }\n\n async tryAutoOrOneTapSignIn(): Promise<SignInResultOption> {\n let signInResult = await this.doSignIn(true);\n\n if (!(signInResult as SuccessSignInResult).idToken\n // If the popup was cancelled, do not show it again.\n && (signInResult as NoSuccessSignInResult).noSuccessReasonCode !== 'SIGN_IN_CANCELLED') {\n signInResult = await this.doSignIn(false);\n }\n\n if ((signInResult as SuccessSignInResult).idToken) {\n return {\n isSuccess: true,\n success: signInResult as SuccessSignInResult\n }\n } else {\n return {\n isSuccess: false,\n noSuccess: signInResult as NoSuccessSignInResult\n }\n }\n }\n\n async tryOneTapSignIn(): Promise<SignInResultOption> {\n let signInResult = await this.doSignIn(false);\n\n if ((signInResult as SuccessSignInResult).idToken) {\n return {\n isSuccess: true,\n success: signInResult as SuccessSignInResult\n }\n } else {\n return {\n isSuccess: false,\n noSuccess: signInResult as NoSuccessSignInResult\n }\n }\n }\n\n async tryAutoSignIn(): Promise<SignInResultOption> {\n let signInResult = await this.doSignIn(true);\n\n if ((signInResult as SuccessSignInResult).idToken) {\n return {\n isSuccess: true,\n success: signInResult as SuccessSignInResult\n }\n } else {\n return {\n isSuccess: false,\n noSuccess: signInResult as NoSuccessSignInResult\n }\n }\n }\n\n async renderSignInButton(parentElementId: string, options: RenderSignInButtonOptions, gsiButtonConfiguration?: google.GsiButtonConfiguration): Promise<NotEnrichedSuccessSignInResult> {\n const parentElem = document.getElementById(parentElementId);\n assert(() => !!parentElem)\n var signInPromise = new Promise<NotEnrichedSuccessSignInResult>((resolve) => {\n this.oneTapInitialize(false, resolve, options.webOptions);\n\n // // Adding a click_listener allows to detect when the popup is opened.\n // (gsiButtonConfiguration as any).click_listener = () => {\n // console.log('click_listener');\n // };\n google.accounts.id.renderButton(\n parentElem!,\n gsiButtonConfiguration!\n );\n });\n return signInPromise;\n }\n\n private async fedCMSignIn(autoSelect: boolean, resolveSignInFunc: ResolveSignInFunc) : Promise<FedCMSignInResult> {\n try {\n // console.log(`IdentityCredential supported: ${'IdentityCredential' in window}`);\n if ('IdentityCredential' in window === false) {\n return FedCMSignInResult.OTHER_ERROR;\n }\n this.fedCMAbortController = new AbortController();\n // see https://developers.google.com/privacy-sandbox/3pcd/fedcm\n // see https://developers.google.com/privacy-sandbox/blog/fedcm-auto-reauthn\n const identityCredential = await navigator.credentials.get({\n identity: {\n context: 'signin',\n providers: [\n {\n configURL: 'https://accounts.google.com/gsi/fedcm.json',\n clientId: this.initializeOptions!.clientId!,\n // loginHint: ''\n nonce: this.initializeOptions!.nonce\n }\n ]\n },\n mediation: autoSelect ? 'optional' : 'required' as 'optional' | 'required' | 'silent',\n signal: this.fedCMAbortController.signal\n } as any) as IdentityCredential;\n\n // console.log('fedCMSignIn result: ', identityCredential);\n\n if (!identityCredential?.token) {\n return FedCMSignInResult.OTHER_ERROR;\n }\n\n resolveSignInFunc({\n idToken: identityCredential.token,\n isAutoSelect: identityCredential.isAutoSelect\n });\n\n return FedCMSignInResult.SUCCESS;\n } catch (e) {\n // NotSupportedError DOMException\n // IdentityCredentialError DOMException\n // NetworkError DOMException --> name: 'NetworkError'\n // NotAllowedError DOMException\n const name = (e as Error).name ?? '';\n const message = (e as Error).message ?? '';\n // console.log('fedCMSignIn error: ', e, name);\n if (message.includes(this.cancelCalledAbortReason) \n || (name === 'NetworkError' && message.includes('Error retrieving a token.'))) {\n return FedCMSignInResult.CANCELLED;\n }\n return FedCMSignInResult.OTHER_ERROR;\n }\n finally {\n this.fedCMAbortController = undefined;\n }\n }\n\n private fedCMSignOut() {\n navigator.credentials.preventSilentAccess();\n }\n\n private fedCMAbort() {\n this.fedCMAbortController?.abort({ message: this.cancelCalledAbortReason });\n }\n\n private async doSignIn(autoSelect: boolean) {\n var signInPromise = new Promise<NotEnrichedSuccessSignInResult | NoSuccessSignInResult>(async (resolve, _reject) => {\n let fedCMResult = await this.fedCMSignIn(autoSelect, resolve);\n\n if (fedCMResult === FedCMSignInResult.CANCELLED) {\n resolve({noSuccessReasonCode: 'SIGN_IN_CANCELLED' });\n } else if (fedCMResult === FedCMSignInResult.OTHER_ERROR) {\n this.oneTapInitialize(autoSelect, resolve); // The resolve function is passed, so it can be called in handleCredentialResponse.\n google.accounts.id.prompt();\n }\n });\n return signInPromise;\n }\n\n private oneTapInitialize(autoSelect: boolean, resolveSignInFunc: ResolveSignInFunc, buttonWebOptions?: RenderSignInButtonWebOptions) {\n google.accounts.id.initialize({\n client_id: this.initializeOptions!.clientId!,\n callback: (credentialResponse) => this.handleCredentialResponse(credentialResponse, resolveSignInFunc),\n auto_select: autoSelect,\n itp_support: buttonWebOptions?.itpSupport || false,\n cancel_on_tap_outside: this.initializeOptions!.webOptions?.cancelOnTapOutside || true,\n ux_mode: buttonWebOptions?.uxMode || 'popup',\n nonce: this.initializeOptions!.nonce,\n use_fedcm_for_prompt: true,\n use_fedcm_for_button: true\n // log_level: 'debug'\n } as IdConfiguration & { use_fedcm_for_prompt: boolean });\n }\n\n private handleCredentialResponse(credentialResponse: google.CredentialResponse, resolveSignInFunc: ResolveSignInFunc) {\n let signInResult: NotEnrichedSuccessSignInResult = {\n idToken: credentialResponse.credential,\n isAutoSelect: credentialResponse.isAutoSelect,\n };\n resolveSignInFunc(signInResult);\n }\n\n cancelOneTapDialog(): void {\n google.accounts.id.cancel();\n this.fedCMAbort();\n }\n\n signOut(authenticatedUserId: string | undefined): Promise<SignOutResult> {\n if (this.isGapiLoadRequested === false) {\n this.fedCMSignOut();\n return Promise.resolve({ isSuccess: true });\n }\n return new Promise<SignOutResult>((resolve) => {\n if (authenticatedUserId) {\n // Calling revoke method revokes all OAuth2 scopes previously granted by the Sign In With Google client library.\n google.accounts.id.revoke(authenticatedUserId, response => {\n if (response.successful) {\n resolve({ isSuccess: true });\n }\n else {\n resolve({ isSuccess: false, error: response.error });\n }\n });\n } else {\n resolve({ isSuccess: true });\n }\n });\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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","sourcesContent":["import { WebPlugin } from '@capacitor/core';\nimport { InitializeOptions, SignInResultOption, SuccessSignInResult, NoSuccessSignInResult, SignOutResult, RenderSignInButtonOptions, RenderSignInButtonWebOptions } from './definitions';\nimport { assert, loadScript } from './helpers';\nimport type { NotEnrichedSuccessSignInResult } from './definitionsInternal';\nimport { type IdConfiguration } from 'google-one-tap';\n\n// Workaround for 'error TS2686: 'google' refers to a UMD global, but the current file is a module. Consider adding an import instead.'\ndeclare var google: {\n accounts: google.accounts\n};\n\ntype ResolveSignInFunc = (result: NotEnrichedSuccessSignInResult) => void;\n\ntype IdentityCredential = Credential & { isAutoSelect: boolean, token: string }\n\nenum FedCMSignInResult { SUCCESS, CANCELLED, OTHER_ERROR }\n\n// See https://developers.google.com/identity/gsi/web/guides/use-one-tap-js-api\nexport class GoogleOneTapAuthWeb extends WebPlugin {\n gsiScriptUrl = 'https://accounts.google.com/gsi/client';\n gapiLoadedPromise?: Promise<void> = undefined;\n initializeOptions?: InitializeOptions = undefined;\n isGapiLoadRequested = false;\n fedCMAbortController?: AbortController = undefined;\n cancelCalledAbortReason = 'CANCEL_CALLED';\n\n async initialize(options: InitializeOptions): Promise<void> {\n this.initializeOptions = options;\n if (!this.gapiLoadedPromise) {\n this.gapiLoadedPromise = loadScript(this.gsiScriptUrl);\n this.isGapiLoadRequested = true;\n }\n return this.gapiLoadedPromise;\n }\n\n async tryAutoOrOneTapSignIn(): Promise<SignInResultOption> {\n let signInResult = await this.doSignIn(true);\n\n if (!(signInResult as SuccessSignInResult).idToken\n // If the popup was cancelled, do not show it again.\n && (signInResult as NoSuccessSignInResult).noSuccessReasonCode !== 'SIGN_IN_CANCELLED') {\n signInResult = await this.doSignIn(false);\n }\n\n if ((signInResult as SuccessSignInResult).idToken) {\n return {\n isSuccess: true,\n success: signInResult as SuccessSignInResult\n }\n } else {\n return {\n isSuccess: false,\n noSuccess: signInResult as NoSuccessSignInResult\n }\n }\n }\n\n async tryOneTapSignIn(): Promise<SignInResultOption> {\n let signInResult = await this.doSignIn(false);\n\n if ((signInResult as SuccessSignInResult).idToken) {\n return {\n isSuccess: true,\n success: signInResult as SuccessSignInResult\n }\n } else {\n return {\n isSuccess: false,\n noSuccess: signInResult as NoSuccessSignInResult\n }\n }\n }\n\n async tryAutoSignIn(): Promise<SignInResultOption> {\n let signInResult = await this.doSignIn(true);\n\n if ((signInResult as SuccessSignInResult).idToken) {\n return {\n isSuccess: true,\n success: signInResult as SuccessSignInResult\n }\n } else {\n return {\n isSuccess: false,\n noSuccess: signInResult as NoSuccessSignInResult\n }\n }\n }\n\n async renderSignInButton(parentElementId: string, options: RenderSignInButtonOptions, gsiButtonConfiguration?: google.GsiButtonConfiguration): Promise<NotEnrichedSuccessSignInResult> {\n const parentElem = document.getElementById(parentElementId);\n assert(() => !!parentElem)\n var signInPromise = new Promise<NotEnrichedSuccessSignInResult>((resolve) => {\n this.oneTapInitialize(false, resolve, options.webOptions);\n\n // // Adding a click_listener allows to detect when the popup is opened.\n // (gsiButtonConfiguration as any).click_listener = () => {\n // console.log('click_listener');\n // };\n google.accounts.id.renderButton(\n parentElem!,\n gsiButtonConfiguration!\n );\n });\n return signInPromise;\n }\n\n private async fedCMSignIn(autoSelect: boolean, resolveSignInFunc: ResolveSignInFunc) : Promise<FedCMSignInResult> {\n try {\n // console.log(`IdentityCredential supported: ${'IdentityCredential' in window}`);\n if ('IdentityCredential' in window === false) {\n return FedCMSignInResult.OTHER_ERROR;\n }\n this.fedCMAbortController = new AbortController();\n // see https://developers.google.com/privacy-sandbox/3pcd/fedcm\n // see https://developers.google.com/privacy-sandbox/blog/fedcm-auto-reauthn\n const identityCredential = await navigator.credentials.get({\n identity: {\n context: 'signin',\n providers: [\n {\n configURL: 'https://accounts.google.com/gsi/fedcm.json',\n clientId: this.initializeOptions!.clientId!,\n // loginHint: ''\n nonce: this.initializeOptions!.nonce\n }\n ]\n },\n mediation: autoSelect ? 'optional' : 'required' as 'optional' | 'required' | 'silent',\n signal: this.fedCMAbortController.signal\n } as any) as IdentityCredential;\n\n // console.log('fedCMSignIn result: ', identityCredential);\n\n if (!identityCredential?.token) {\n return FedCMSignInResult.OTHER_ERROR;\n }\n\n resolveSignInFunc({\n idToken: identityCredential.token,\n isAutoSelect: identityCredential.isAutoSelect\n });\n\n return FedCMSignInResult.SUCCESS;\n } catch (e) {\n // NotSupportedError DOMException\n // IdentityCredentialError DOMException\n // NetworkError DOMException --> name: 'NetworkError'\n // NotAllowedError DOMException\n const name = (e as Error).name ?? '';\n const message = (e as Error).message ?? '';\n // console.log('fedCMSignIn error: ', e, name);\n if (message.includes(this.cancelCalledAbortReason) \n || (name === 'NetworkError' && message.includes('Error retrieving a token.'))) {\n return FedCMSignInResult.CANCELLED;\n }\n return FedCMSignInResult.OTHER_ERROR;\n }\n finally {\n this.fedCMAbortController = undefined;\n }\n }\n\n private fedCMSignOut() {\n navigator.credentials.preventSilentAccess();\n }\n\n private fedCMAbort() {\n this.fedCMAbortController?.abort({ message: this.cancelCalledAbortReason });\n }\n\n private async doSignIn(autoSelect: boolean) {\n var signInPromise = new Promise<NotEnrichedSuccessSignInResult | NoSuccessSignInResult>(async (resolve, _reject) => {\n let fedCMResult = await this.fedCMSignIn(autoSelect, resolve);\n\n if (fedCMResult === FedCMSignInResult.CANCELLED) {\n resolve({noSuccessReasonCode: 'SIGN_IN_CANCELLED' });\n } else if (fedCMResult === FedCMSignInResult.OTHER_ERROR) {\n this.oneTapInitialize(autoSelect, resolve); // The resolve function is passed, so it can be called in handleCredentialResponse.\n google.accounts.id.prompt();\n }\n });\n return signInPromise;\n }\n\n private oneTapInitialize(autoSelect: boolean, resolveSignInFunc: ResolveSignInFunc, buttonWebOptions?: RenderSignInButtonWebOptions) {\n google.accounts.id.initialize({\n client_id: this.initializeOptions!.clientId!,\n callback: (credentialResponse) => this.handleCredentialResponse(credentialResponse, resolveSignInFunc),\n auto_select: autoSelect,\n itp_support: buttonWebOptions?.itpSupport || false,\n cancel_on_tap_outside: this.initializeOptions!.webOptions?.cancelOnTapOutside || true,\n ux_mode: buttonWebOptions?.uxMode || 'popup',\n nonce: this.initializeOptions!.nonce,\n use_fedcm_for_prompt: true,\n use_fedcm_for_button: true\n // log_level: 'debug'\n } as IdConfiguration & { use_fedcm_for_prompt: boolean });\n }\n\n private handleCredentialResponse(credentialResponse: google.CredentialResponse, resolveSignInFunc: ResolveSignInFunc) {\n let signInResult: NotEnrichedSuccessSignInResult = {\n idToken: credentialResponse.credential,\n isAutoSelect: credentialResponse.select_by === 'auto',\n };\n resolveSignInFunc(signInResult);\n }\n\n cancelOneTapDialog(): void {\n google.accounts.id.cancel();\n this.fedCMAbort();\n }\n\n signOut(authenticatedUserId: string | undefined): Promise<SignOutResult> {\n if (this.isGapiLoadRequested === false) {\n this.fedCMSignOut();\n return Promise.resolve({ isSuccess: true });\n }\n return new Promise<SignOutResult>((resolve) => {\n if (authenticatedUserId) {\n // Calling revoke method revokes all OAuth2 scopes previously granted by the Sign In With Google client library.\n google.accounts.id.revoke(authenticatedUserId, response => {\n if (response.successful) {\n resolve({ isSuccess: true });\n }\n else {\n resolve({ isSuccess: false, error: response.error });\n }\n });\n } else {\n resolve({ isSuccess: true });\n }\n });\n }\n}"]}
|
package/dist/plugin.cjs.js
CHANGED
|
@@ -217,7 +217,7 @@ class GoogleOneTapAuthWeb extends core.WebPlugin {
|
|
|
217
217
|
handleCredentialResponse(credentialResponse, resolveSignInFunc) {
|
|
218
218
|
let signInResult = {
|
|
219
219
|
idToken: credentialResponse.credential,
|
|
220
|
-
isAutoSelect: credentialResponse.
|
|
220
|
+
isAutoSelect: credentialResponse.select_by === 'auto',
|
|
221
221
|
};
|
|
222
222
|
resolveSignInFunc(signInResult);
|
|
223
223
|
}
|
package/dist/plugin.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.cjs.js","sources":["esm/helpers.js","esm/web.js","esm/GoogleOneTapAuth.js"],"sourcesContent":["export function assert(predicate, customMessage) {\n if (!predicate()) {\n const callerName = callingFunctionName();\n if (customMessage != undefined) {\n throw Error(customMessage + `. Error in ${callerName}.`);\n }\n throw Error(`Assert error, expected '${predicate}' to be true. Error in ${callerName}.`);\n }\n}\nexport function randomHexString(length) {\n let uint8RandomNumbers = new Uint8Array((length / 2) + 1);\n uint8RandomNumbers = crypto.getRandomValues(uint8RandomNumbers);\n const numbersAsHexString = Array.from(uint8RandomNumbers).map(x => x.toString(16)).join('');\n return numbersAsHexString.substring(0, length);\n}\nfunction callingFunctionName() {\n var _a;\n try {\n return (_a = (new Error()).stack) === null || _a === void 0 ? void 0 : _a.split(\"\\n\")[3].trim().split(\" \")[1];\n }\n catch (_b) {\n // ignore.\n }\n}\nexport function loadScript(url) {\n return new Promise((resolve, reject) => {\n var scriptEl = document.createElement('script');\n scriptEl.async = true;\n scriptEl.onerror = () => reject();\n scriptEl.onload = () => resolve();\n scriptEl.src = url;\n document.getElementsByTagName('head')[0].appendChild(scriptEl);\n });\n}\n//# sourceMappingURL=helpers.js.map","import { WebPlugin } from '@capacitor/core';\nimport { assert, loadScript } from './helpers';\nvar FedCMSignInResult;\n(function (FedCMSignInResult) {\n FedCMSignInResult[FedCMSignInResult[\"SUCCESS\"] = 0] = \"SUCCESS\";\n FedCMSignInResult[FedCMSignInResult[\"CANCELLED\"] = 1] = \"CANCELLED\";\n FedCMSignInResult[FedCMSignInResult[\"OTHER_ERROR\"] = 2] = \"OTHER_ERROR\";\n})(FedCMSignInResult || (FedCMSignInResult = {}));\n// See https://developers.google.com/identity/gsi/web/guides/use-one-tap-js-api\nexport class GoogleOneTapAuthWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.gsiScriptUrl = 'https://accounts.google.com/gsi/client';\n this.gapiLoadedPromise = undefined;\n this.initializeOptions = undefined;\n this.isGapiLoadRequested = false;\n this.fedCMAbortController = undefined;\n this.cancelCalledAbortReason = 'CANCEL_CALLED';\n }\n async initialize(options) {\n this.initializeOptions = options;\n if (!this.gapiLoadedPromise) {\n this.gapiLoadedPromise = loadScript(this.gsiScriptUrl);\n this.isGapiLoadRequested = true;\n }\n return this.gapiLoadedPromise;\n }\n async tryAutoOrOneTapSignIn() {\n let signInResult = await this.doSignIn(true);\n if (!signInResult.idToken\n // If the popup was cancelled, do not show it again.\n && signInResult.noSuccessReasonCode !== 'SIGN_IN_CANCELLED') {\n signInResult = await this.doSignIn(false);\n }\n if (signInResult.idToken) {\n return {\n isSuccess: true,\n success: signInResult\n };\n }\n else {\n return {\n isSuccess: false,\n noSuccess: signInResult\n };\n }\n }\n async tryOneTapSignIn() {\n let signInResult = await this.doSignIn(false);\n if (signInResult.idToken) {\n return {\n isSuccess: true,\n success: signInResult\n };\n }\n else {\n return {\n isSuccess: false,\n noSuccess: signInResult\n };\n }\n }\n async tryAutoSignIn() {\n let signInResult = await this.doSignIn(true);\n if (signInResult.idToken) {\n return {\n isSuccess: true,\n success: signInResult\n };\n }\n else {\n return {\n isSuccess: false,\n noSuccess: signInResult\n };\n }\n }\n async renderSignInButton(parentElementId, options, gsiButtonConfiguration) {\n const parentElem = document.getElementById(parentElementId);\n assert(() => !!parentElem);\n var signInPromise = new Promise((resolve) => {\n this.oneTapInitialize(false, resolve, options.webOptions);\n // // Adding a click_listener allows to detect when the popup is opened.\n // (gsiButtonConfiguration as any).click_listener = () => {\n // console.log('click_listener');\n // };\n google.accounts.id.renderButton(parentElem, gsiButtonConfiguration);\n });\n return signInPromise;\n }\n async fedCMSignIn(autoSelect, resolveSignInFunc) {\n var _a, _b;\n try {\n // console.log(`IdentityCredential supported: ${'IdentityCredential' in window}`);\n if ('IdentityCredential' in window === false) {\n return FedCMSignInResult.OTHER_ERROR;\n }\n this.fedCMAbortController = new AbortController();\n // see https://developers.google.com/privacy-sandbox/3pcd/fedcm\n // see https://developers.google.com/privacy-sandbox/blog/fedcm-auto-reauthn\n const identityCredential = await navigator.credentials.get({\n identity: {\n context: 'signin',\n providers: [\n {\n configURL: 'https://accounts.google.com/gsi/fedcm.json',\n clientId: this.initializeOptions.clientId,\n // loginHint: ''\n nonce: this.initializeOptions.nonce\n }\n ]\n },\n mediation: autoSelect ? 'optional' : 'required',\n signal: this.fedCMAbortController.signal\n });\n // console.log('fedCMSignIn result: ', identityCredential);\n if (!(identityCredential === null || identityCredential === void 0 ? void 0 : identityCredential.token)) {\n return FedCMSignInResult.OTHER_ERROR;\n }\n resolveSignInFunc({\n idToken: identityCredential.token,\n isAutoSelect: identityCredential.isAutoSelect\n });\n return FedCMSignInResult.SUCCESS;\n }\n catch (e) {\n // NotSupportedError DOMException\n // IdentityCredentialError DOMException\n // NetworkError DOMException --> name: 'NetworkError'\n // NotAllowedError DOMException\n const name = (_a = e.name) !== null && _a !== void 0 ? _a : '';\n const message = (_b = e.message) !== null && _b !== void 0 ? _b : '';\n // console.log('fedCMSignIn error: ', e, name);\n if (message.includes(this.cancelCalledAbortReason)\n || (name === 'NetworkError' && message.includes('Error retrieving a token.'))) {\n return FedCMSignInResult.CANCELLED;\n }\n return FedCMSignInResult.OTHER_ERROR;\n }\n finally {\n this.fedCMAbortController = undefined;\n }\n }\n fedCMSignOut() {\n navigator.credentials.preventSilentAccess();\n }\n fedCMAbort() {\n var _a;\n (_a = this.fedCMAbortController) === null || _a === void 0 ? void 0 : _a.abort({ message: this.cancelCalledAbortReason });\n }\n async doSignIn(autoSelect) {\n var signInPromise = new Promise(async (resolve, _reject) => {\n let fedCMResult = await this.fedCMSignIn(autoSelect, resolve);\n if (fedCMResult === FedCMSignInResult.CANCELLED) {\n resolve({ noSuccessReasonCode: 'SIGN_IN_CANCELLED' });\n }\n else if (fedCMResult === FedCMSignInResult.OTHER_ERROR) {\n this.oneTapInitialize(autoSelect, resolve); // The resolve function is passed, so it can be called in handleCredentialResponse.\n google.accounts.id.prompt();\n }\n });\n return signInPromise;\n }\n oneTapInitialize(autoSelect, resolveSignInFunc, buttonWebOptions) {\n var _a;\n google.accounts.id.initialize({\n client_id: this.initializeOptions.clientId,\n callback: (credentialResponse) => this.handleCredentialResponse(credentialResponse, resolveSignInFunc),\n auto_select: autoSelect,\n itp_support: (buttonWebOptions === null || buttonWebOptions === void 0 ? void 0 : buttonWebOptions.itpSupport) || false,\n cancel_on_tap_outside: ((_a = this.initializeOptions.webOptions) === null || _a === void 0 ? void 0 : _a.cancelOnTapOutside) || true,\n ux_mode: (buttonWebOptions === null || buttonWebOptions === void 0 ? void 0 : buttonWebOptions.uxMode) || 'popup',\n nonce: this.initializeOptions.nonce,\n use_fedcm_for_prompt: true,\n use_fedcm_for_button: true\n // log_level: 'debug'\n });\n }\n handleCredentialResponse(credentialResponse, resolveSignInFunc) {\n let signInResult = {\n idToken: credentialResponse.credential,\n isAutoSelect: credentialResponse.isAutoSelect,\n };\n resolveSignInFunc(signInResult);\n }\n cancelOneTapDialog() {\n google.accounts.id.cancel();\n this.fedCMAbort();\n }\n signOut(authenticatedUserId) {\n if (this.isGapiLoadRequested === false) {\n this.fedCMSignOut();\n return Promise.resolve({ isSuccess: true });\n }\n return new Promise((resolve) => {\n if (authenticatedUserId) {\n // Calling revoke method revokes all OAuth2 scopes previously granted by the Sign In With Google client library.\n google.accounts.id.revoke(authenticatedUserId, response => {\n if (response.successful) {\n resolve({ isSuccess: true });\n }\n else {\n resolve({ isSuccess: false, error: response.error });\n }\n });\n }\n else {\n resolve({ isSuccess: true });\n }\n });\n }\n}\n//# sourceMappingURL=web.js.map","import { Capacitor, registerPlugin } from '@capacitor/core';\nimport { assert, randomHexString } from './helpers';\nimport { GoogleOneTapAuthWeb } from './web';\nimport { jwtDecode } from \"jwt-decode\";\nconst GoogleOneTapAuthPlatform = registerPlugin('GoogleOneTapAuth', {\n web: () => new GoogleOneTapAuthWeb(),\n});\nvar InitializeStatus;\n(function (InitializeStatus) {\n InitializeStatus[InitializeStatus[\"NotInitialized\"] = 0] = \"NotInitialized\";\n InitializeStatus[InitializeStatus[\"Initializing\"] = 1] = \"Initializing\";\n InitializeStatus[InitializeStatus[\"Initialized\"] = 2] = \"Initialized\";\n})(InitializeStatus || (InitializeStatus = {}));\n// This file is the entry point for all plugin methods. It contains common logic to web, android, iOS or delegates to the specific implementation.\nclass GoogleOneTapAuth {\n constructor() {\n this.initializeStatus = InitializeStatus.NotInitialized;\n this.authenticatedUserId = undefined;\n this.isInitializedPromise = new Promise((resolve) => {\n this.resolveIsInitializedPromise = resolve;\n });\n }\n /// Performs common or one-time initialization. Can be called multiple times.\n initialize(options) {\n if (this.initializeStatus === InitializeStatus.NotInitialized) {\n this.initializeStatus = InitializeStatus.Initializing;\n if (!options.clientId || options.clientId.endsWith(\"apps.googleusercontent.com\") == false) {\n throw new Error(\"clientId must end with 'apps.googleusercontent.com' but is: \" + options.clientId);\n }\n this.nonce = options.nonce = options.nonce || randomHexString(10);\n GoogleOneTapAuthPlatform.initialize(options).then(() => {\n this.initializeStatus = InitializeStatus.Initialized;\n this.resolveIsInitializedPromise();\n });\n }\n return this.isInitializedPromise;\n }\n async ensureInitialized() {\n assert(() => this.initializeStatus !== InitializeStatus.NotInitialized, 'Must call initialize first.');\n if (this.initializeStatus === InitializeStatus.Initializing) {\n await this.isInitializedPromise;\n }\n }\n async tryAutoOrOneTapSignIn() {\n await this.ensureInitialized();\n const notEnrichtedSignInResultOption = await GoogleOneTapAuthPlatform.tryAutoOrOneTapSignIn();\n const enrichtedSignInResultOption = this.enrichOptionResultWithDecodedIdToken(notEnrichtedSignInResultOption);\n this.onResultReceived(enrichtedSignInResultOption);\n return enrichtedSignInResultOption;\n }\n async tryOneTapSignIn() {\n await this.ensureInitialized();\n const notEnrichtedSignInResultOption = await GoogleOneTapAuthPlatform.tryOneTapSignIn();\n const enrichtedSignInResultOption = this.enrichOptionResultWithDecodedIdToken(notEnrichtedSignInResultOption);\n this.onResultReceived(enrichtedSignInResultOption);\n return enrichtedSignInResultOption;\n }\n async tryAutoSignIn() {\n await this.ensureInitialized();\n const notEnrichtedSignInResultOption = await GoogleOneTapAuthPlatform.tryAutoSignIn();\n const enrichtedSignInResultOption = this.enrichOptionResultWithDecodedIdToken(notEnrichtedSignInResultOption);\n this.onResultReceived(enrichtedSignInResultOption);\n return enrichtedSignInResultOption;\n }\n onResultReceived(signInResultOption) {\n if (signInResultOption.isSuccess) {\n this.authenticatedUserId = signInResultOption.success.userId;\n }\n }\n cancelOneTapDialog() {\n GoogleOneTapAuthPlatform.cancelOneTapDialog();\n }\n async signOut() {\n const result = await GoogleOneTapAuthPlatform.signOut(this.authenticatedUserId);\n this.authenticatedUserId = undefined;\n return result;\n }\n async addSignInActionToExistingButton(buttonParentId, buttonId) {\n await this.ensureInitialized();\n const buttonParentElem = document.getElementById(buttonParentId);\n const buttonElem = document.getElementById(buttonId);\n assert(() => !!buttonParentElem);\n assert(() => !!buttonElem);\n if (Capacitor.getPlatform() === 'web') {\n buttonParentElem.style.position = 'relative';\n buttonParentElem.style.overflow = 'hidden';\n // buttonParentElem!.style.border = '2px solid red'; // uncomment for debugging\n // The visible button width should be the same as the google button width.\n const buttonElemWidth = await this.waitForElementOffsetWidthNotZero(buttonElem);\n assert(() => buttonElemWidth !== 0);\n const invisibleGoogleButtonDiv = document.createElement('div');\n const invisibleGoogleButtonDivId = 'invisibleGoogleButtonDiv';\n invisibleGoogleButtonDiv.setAttribute('id', invisibleGoogleButtonDivId);\n invisibleGoogleButtonDiv.style.position = 'absolute';\n invisibleGoogleButtonDiv.style.top = '0px';\n invisibleGoogleButtonDiv.style.left = '0px';\n invisibleGoogleButtonDiv.style.width = `${buttonElemWidth}px`;\n invisibleGoogleButtonDiv.style.boxSizing = 'border-box';\n invisibleGoogleButtonDiv.style.opacity = '0.0001'; // change it for debugging\n buttonElem.appendChild(invisibleGoogleButtonDiv);\n return await this._doRenderSignInButton(invisibleGoogleButtonDivId, {}, { width: buttonElemWidth }, buttonElem);\n }\n else {\n return await this._doRenderSignInButton(buttonParentId, {}, {}, buttonElem);\n }\n }\n waitForElementOffsetWidthNotZero(element) {\n if (element.offsetWidth !== 0) {\n return Promise.resolve(element.offsetWidth);\n }\n return new Promise((resolve) => {\n const resizeObserver = new ResizeObserver(() => {\n if (element.offsetWidth !== 0) {\n resolve(element.offsetWidth);\n }\n });\n resizeObserver.observe(element);\n });\n }\n async renderSignInButton(parentElementId, options, gsiButtonConfiguration) {\n const androidAndIosButtonElem = this.getSignInButtonHtml(gsiButtonConfiguration);\n return this._doRenderSignInButton(parentElementId, options, gsiButtonConfiguration, androidAndIosButtonElem);\n }\n async _doRenderSignInButton(parentElementId, options, gsiButtonConfiguration, androidAndIosButtonElem) {\n await this.ensureInitialized();\n const parentElem = document.getElementById(parentElementId);\n assert(() => !!parentElem);\n options.webOptions = options.webOptions || {};\n return new Promise(async (resolve, reject) => {\n try {\n if (Capacitor.getPlatform() === 'web') {\n const notEnrichedSuccessSignInResult = await GoogleOneTapAuthPlatform.renderSignInButton(parentElementId, options, gsiButtonConfiguration);\n const enrichtedSuccessSignInResult = this.enrichSuccessResultWithDecodedIdToken(notEnrichedSuccessSignInResult);\n this.authenticatedUserId = enrichtedSuccessSignInResult.userId;\n resolve(enrichtedSuccessSignInResult);\n return;\n }\n const onClickAction = async () => {\n var _a;\n try {\n const notEnrichedSuccessSignInResult = await GoogleOneTapAuthPlatform.triggerGoogleSignIn(options);\n if (notEnrichedSuccessSignInResult.isSuccess) {\n const enrichtedSuccessSignInResult = this.enrichSuccessResultWithDecodedIdToken(notEnrichedSuccessSignInResult.success);\n this.authenticatedUserId = enrichtedSuccessSignInResult.userId;\n resolve(enrichtedSuccessSignInResult);\n }\n else {\n if (((_a = notEnrichedSuccessSignInResult.noSuccess) === null || _a === void 0 ? void 0 : _a.noSuccessReasonCode) === 'SIGN_IN_CANCELLED') {\n // console.log('User cancelled sign in. Waiting for next sign in attempt.');\n }\n }\n }\n catch (e) {\n reject(e);\n }\n };\n androidAndIosButtonElem.onclick = onClickAction;\n parentElem.appendChild(androidAndIosButtonElem);\n }\n catch (e) {\n reject(e);\n }\n });\n }\n getNonce() {\n assert(() => !!this.nonce, `The nonce is only set after ${() => this.initialize} was called.`);\n return this.nonce;\n }\n enrichOptionResultWithDecodedIdToken(signInResultOption) {\n if (signInResultOption.isSuccess === false) {\n return signInResultOption;\n }\n return Object.assign(Object.assign({}, signInResultOption), { success: this.enrichSuccessResultWithDecodedIdToken(signInResultOption.success) });\n }\n enrichSuccessResultWithDecodedIdToken(successSignInResult) {\n const decodedJwt = jwtDecode(successSignInResult.idToken);\n return Object.assign(Object.assign({}, successSignInResult), { decodedIdToken: decodedJwt, userId: decodedJwt.sub, email: decodedJwt.email });\n }\n getSignInButtonHtml(gsiButtonConfiguration) {\n var _a;\n // Note: Replacing double quotes with single quotes will break some strings.\n const localizedStrings = {\n en: { signin: 'Sign in', continue_with: 'Continue with Google', signin_with: 'Sign in with Google', signup_with: 'Sign up with Google' },\n ar: { signin: '\\u062a\\u0633\\u062c\\u064a\\u0644 \\u0627\\u0644\\u062f\\u062e\\u0648\\u0644', continue_with: '\\u0627\\u0644\\u0645\\u0648\\u0627\\u0635\\u0644\\u0629 \\u0628\\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 Google', signin_with: '\\u062a\\u0633\\u062c\\u064a\\u0644 \\u0627\\u0644\\u062f\\u062e\\u0648\\u0644 \\u0628\\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 Google', signup_with: '\\u0627\\u0644\\u0627\\u0634\\u062a\\u0631\\u0627\\u0643 \\u0645\\u0646 \\u062e\\u0644\\u0627\\u0644 Google' },\n sr: { signin: '\\u041f\\u0440\\u0438\\u0458\\u0430\\u0432\\u0438 \\u043c\\u0435', continue_with: '\\u041d\\u0430\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u0435 \\u0441\\u0430 Google-\\u043e\\u043c', signin_with: '\\u041f\\u0440\\u0438\\u0458\\u0430\\u0432\\u0438\\u0442\\u0435 \\u0441\\u0435 \\u043f\\u043e\\u043c\\u043e\\u045b\\u0443 Google-\\u0430', signup_with: '\\u0420\\u0435\\u0433\\u0438\\u0441\\u0442\\u0440\\u0443\\u0458\\u0442\\u0435 \\u0441\\u0435 \\u043f\\u043e\\u043c\\u043e\\u045b\\u0443 Google-\\u0430' },\n nb: { signin: 'Logg p\\u00e5', continue_with: 'Fortsett med Google', signin_with: 'Logg p\\u00e5 med Google', signup_with: 'Registrer deg med Google' },\n pl: { signin: 'Zaloguj si\\u0119', continue_with: 'Kontynuuj przy u\\u017cyciu konta Google', signin_with: 'Zaloguj si\\u0119 przez Google', signup_with: 'Zarejestruj si\\u0119 przez Google' },\n vi: { signin: '\\u0110\\u0103ng nh\\u1eadp', continue_with: 'Ti\\u1ebfp t\\u1ee5c truy c\\u1eadp Google', signin_with: '\\u0110\\u0103ng nh\\u00e2\\u0323p b\\u0103\\u0300ng Google', signup_with: '\\u0110\\u0103ng k\\u00fd b\\u1eb1ng Google' },\n cs: { signin: 'P\\u0159ihl\\u00e1sit se', continue_with: 'Pokra\\u010dovat pomoc\\u00ed Googlu', signin_with: \"P\\u0159ihl\\u00e1sit se p\\u0159es Google\", signup_with: 'Registrace pomoc\\u00ed Googlu' },\n id: { signin: 'Login', continue_with: 'Lanjutkan dengan Google', signin_with: 'Login dengan Google', signup_with: 'Daftar dengan Google' },\n nl: { signin: 'Inloggen', continue_with: 'Doorgaan met Google', signin_with: 'Inloggen met Google', signup_with: 'Aanmelden bij Google' },\n gl: { signin: 'Iniciar sesi\\u00f3n', continue_with: 'Continuar con Google', signin_with: 'Iniciar sesi\\u00f3n con Google', signup_with: 'Iniciar sesi\\u00f3n con Google' },\n sv: { signin: 'Logga in', continue_with: 'Forts\\u00e4tt med Google', signin_with: 'Logga in med Google', signup_with: 'Registrera dig med Google' },\n lv: { signin: 'Pierakst\\u012b\\u0161an\\u0101s', continue_with: 'Turpin\\u0101t darbu ar Google', signin_with: 'Pierakstieties ar Google', signup_with: 'Re\\u0123istr\\u0113\\u0161an\\u0101s, izmantojot Google' },\n tr: { signin: 'Oturum a\\u00e7\\u0131n', continue_with: 'Google ile devam edin', signin_with: 'Google ile oturum a\\u00e7\\u0131n', signup_with: 'Google ile kaydolun' },\n it: { signin: 'Accedi', continue_with: 'Continua con Google', signin_with: 'Accedi con Google', signup_with: 'Registrati con Google' },\n sq: { signin: 'Identifikohu', continue_with: 'Vazhdo me Google', signin_with: 'Identifikohu me Google', signup_with: 'Regjistrohu me Google' },\n ro: { signin: 'Conecteaz\\u0103-te', continue_with: 'Continu\\u0103 cu Google', signin_with: 'Conecteaz\\u0103-te cu Google', signup_with: '\\u00censcrie-te cu Google' },\n de: { signin: 'Anmelden', continue_with: 'Weiter mit Google', signin_with: '\\u00dcber Google anmelden', signup_with: 'Mit Google anmelden' },\n ko: { signin: '\\ub85c\\uadf8\\uc778', continue_with: 'Google \\uacc4\\uc815\\uc73c\\ub85c \\uacc4\\uc18d\\ud558\\uae30', signin_with: 'Google \\uacc4\\uc815\\uc73c\\ub85c \\ub85c\\uadf8\\uc778', signup_with: 'Google \\uacc4\\uc815\\uc73c\\ub85c \\uac00\\uc785\\ud558\\uae30' },\n fr: { signin: 'Se connecter', continue_with: 'Continuer avec Google', signin_with: 'Se connecter avec Google', signup_with: \"S'inscrire avec Google\" },\n kmr: { signin: 'Oturum a\\u00e7\\u0131n', continue_with: 'Google ile devam edin', signin_with: 'Google ile oturum a\\u00e7\\u0131n', signup_with: 'Google ile kaydolun' },\n zh: { signin: '\\u767b\\u5f55', continue_with: '\\u901a\\u8fc7 Google \\u7ee7\\u7eed\\u64cd\\u4f5c', signin_with: \"\\u4f7f\\u7528 Google \\u5e10\\u53f7\\u767b\\u5f55\", signup_with: '\\u4f7f\\u7528 Google \\u5e10\\u53f7\\u6ce8\\u518c' },\n 'zh-CN': { signin: '\\u767b\\u5f55', continue_with: '\\u901a\\u8fc7 Google \\u7ee7\\u7eed\\u64cd\\u4f5c', signin_with: \"\\u4f7f\\u7528 Google \\u5e10\\u53f7\\u767b\\u5f55\", signup_with: '\\u4f7f\\u7528 Google \\u5e10\\u53f7\\u6ce8\\u518c' },\n 'zh-HK': { signin: '\\u767b\\u5165', continue_with: '\\u7e7c\\u7e8c\\u900f\\u904e Google \\u5e33\\u6236\\u64cd\\u4f5c', signin_with: '\\u4f7f\\u7528 Google \\u5e33\\u6236\\u767b\\u5165', signup_with: '\\u4f7f\\u7528 Google \\u5e33\\u6236\\u8a3b\\u518a' },\n pt: { signin: 'Fazer login', continue_with: 'Continuar com o Google', signin_with: 'Fazer login com o Google', signup_with: 'Inscrever-se no Google' },\n es: { signin: 'Iniciar sesi\\u00f3n', continue_with: 'Continuar con Google', signin_with: 'Iniciar sesi\\u00f3n con Google', signup_with: 'Registrarse con Google' },\n };\n const locale = gsiButtonConfiguration === null || gsiButtonConfiguration === void 0 ? void 0 : gsiButtonConfiguration.locale;\n let localeTexts = locale !== undefined && locale in localizedStrings ? (localizedStrings[locale]) : undefined;\n if (localeTexts === undefined) {\n const countryCode = (locale === null || locale === void 0 ? void 0 : locale.includes('-')) === true ? locale.split('-')[1] : (locale !== null && locale !== void 0 ? locale : '');\n localeTexts = countryCode in localizedStrings ? localizedStrings[countryCode] : localizedStrings['en'];\n }\n const text = (_a = gsiButtonConfiguration === null || gsiButtonConfiguration === void 0 ? void 0 : gsiButtonConfiguration.text) !== null && _a !== void 0 ? _a : 'signin_with';\n const buttonText = localeTexts[text];\n // HTML from https://github.com/inouiw/ReactSignInWithGoogleButton\n const button = document.createElement('button');\n button.setAttribute(\"style\", \"border-radius: 4px; background-color: rgb(255, 255, 255); border: 1px solid rgb(218, 220, 224); color: rgb(60, 64, 67); cursor: pointer; font-family: Roboto, Verdana; font-weight: 500; font-size: 14px; height: 40px; letter-spacing: 0.25px; padding: 0px 12px; position: relative; text-align: center; vertical-align: middle; width: auto;\");\n button.innerHTML = `\n <div style=\"display: flex; align-items: center; flex-flow: row nowrap; justify-content: space-between; height: 100%; position: relative; width: 100%;\">\n <div style=\"height: 18px; margin-right: 8px; min-width: 18px; width: 18px;\">\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18px\" height=\"18px\" viewBox=\"0 0 48 48\">\n <g>\n <path fill=\"#EA4335\" d=\"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z\"></path>\n <path fill=\"#4285F4\" d=\"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z\"></path>\n <path fill=\"#FBBC05\" d=\"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z\"></path>\n <path fill=\"#34A853\" d=\"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z\"></path>\n <path fill=\"none\" d=\"M0 0h48v48H0z\"></path>\n </g>\n </svg>\n </div>\n <p>${buttonText}</p>\n </div>`;\n return button;\n }\n}\nconst googleOneTapAuth = new GoogleOneTapAuth();\nexport { googleOneTapAuth as GoogleOneTapAuth };\n//# sourceMappingURL=GoogleOneTapAuth.js.map"],"names":["WebPlugin","registerPlugin","Capacitor","jwtDecode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.cjs.js","sources":["esm/helpers.js","esm/web.js","esm/GoogleOneTapAuth.js"],"sourcesContent":["export function assert(predicate, customMessage) {\n if (!predicate()) {\n const callerName = callingFunctionName();\n if (customMessage != undefined) {\n throw Error(customMessage + `. Error in ${callerName}.`);\n }\n throw Error(`Assert error, expected '${predicate}' to be true. Error in ${callerName}.`);\n }\n}\nexport function randomHexString(length) {\n let uint8RandomNumbers = new Uint8Array((length / 2) + 1);\n uint8RandomNumbers = crypto.getRandomValues(uint8RandomNumbers);\n const numbersAsHexString = Array.from(uint8RandomNumbers).map(x => x.toString(16)).join('');\n return numbersAsHexString.substring(0, length);\n}\nfunction callingFunctionName() {\n var _a;\n try {\n return (_a = (new Error()).stack) === null || _a === void 0 ? void 0 : _a.split(\"\\n\")[3].trim().split(\" \")[1];\n }\n catch (_b) {\n // ignore.\n }\n}\nexport function loadScript(url) {\n return new Promise((resolve, reject) => {\n var scriptEl = document.createElement('script');\n scriptEl.async = true;\n scriptEl.onerror = () => reject();\n scriptEl.onload = () => resolve();\n scriptEl.src = url;\n document.getElementsByTagName('head')[0].appendChild(scriptEl);\n });\n}\n//# sourceMappingURL=helpers.js.map","import { WebPlugin } from '@capacitor/core';\nimport { assert, loadScript } from './helpers';\nvar FedCMSignInResult;\n(function (FedCMSignInResult) {\n FedCMSignInResult[FedCMSignInResult[\"SUCCESS\"] = 0] = \"SUCCESS\";\n FedCMSignInResult[FedCMSignInResult[\"CANCELLED\"] = 1] = \"CANCELLED\";\n FedCMSignInResult[FedCMSignInResult[\"OTHER_ERROR\"] = 2] = \"OTHER_ERROR\";\n})(FedCMSignInResult || (FedCMSignInResult = {}));\n// See https://developers.google.com/identity/gsi/web/guides/use-one-tap-js-api\nexport class GoogleOneTapAuthWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.gsiScriptUrl = 'https://accounts.google.com/gsi/client';\n this.gapiLoadedPromise = undefined;\n this.initializeOptions = undefined;\n this.isGapiLoadRequested = false;\n this.fedCMAbortController = undefined;\n this.cancelCalledAbortReason = 'CANCEL_CALLED';\n }\n async initialize(options) {\n this.initializeOptions = options;\n if (!this.gapiLoadedPromise) {\n this.gapiLoadedPromise = loadScript(this.gsiScriptUrl);\n this.isGapiLoadRequested = true;\n }\n return this.gapiLoadedPromise;\n }\n async tryAutoOrOneTapSignIn() {\n let signInResult = await this.doSignIn(true);\n if (!signInResult.idToken\n // If the popup was cancelled, do not show it again.\n && signInResult.noSuccessReasonCode !== 'SIGN_IN_CANCELLED') {\n signInResult = await this.doSignIn(false);\n }\n if (signInResult.idToken) {\n return {\n isSuccess: true,\n success: signInResult\n };\n }\n else {\n return {\n isSuccess: false,\n noSuccess: signInResult\n };\n }\n }\n async tryOneTapSignIn() {\n let signInResult = await this.doSignIn(false);\n if (signInResult.idToken) {\n return {\n isSuccess: true,\n success: signInResult\n };\n }\n else {\n return {\n isSuccess: false,\n noSuccess: signInResult\n };\n }\n }\n async tryAutoSignIn() {\n let signInResult = await this.doSignIn(true);\n if (signInResult.idToken) {\n return {\n isSuccess: true,\n success: signInResult\n };\n }\n else {\n return {\n isSuccess: false,\n noSuccess: signInResult\n };\n }\n }\n async renderSignInButton(parentElementId, options, gsiButtonConfiguration) {\n const parentElem = document.getElementById(parentElementId);\n assert(() => !!parentElem);\n var signInPromise = new Promise((resolve) => {\n this.oneTapInitialize(false, resolve, options.webOptions);\n // // Adding a click_listener allows to detect when the popup is opened.\n // (gsiButtonConfiguration as any).click_listener = () => {\n // console.log('click_listener');\n // };\n google.accounts.id.renderButton(parentElem, gsiButtonConfiguration);\n });\n return signInPromise;\n }\n async fedCMSignIn(autoSelect, resolveSignInFunc) {\n var _a, _b;\n try {\n // console.log(`IdentityCredential supported: ${'IdentityCredential' in window}`);\n if ('IdentityCredential' in window === false) {\n return FedCMSignInResult.OTHER_ERROR;\n }\n this.fedCMAbortController = new AbortController();\n // see https://developers.google.com/privacy-sandbox/3pcd/fedcm\n // see https://developers.google.com/privacy-sandbox/blog/fedcm-auto-reauthn\n const identityCredential = await navigator.credentials.get({\n identity: {\n context: 'signin',\n providers: [\n {\n configURL: 'https://accounts.google.com/gsi/fedcm.json',\n clientId: this.initializeOptions.clientId,\n // loginHint: ''\n nonce: this.initializeOptions.nonce\n }\n ]\n },\n mediation: autoSelect ? 'optional' : 'required',\n signal: this.fedCMAbortController.signal\n });\n // console.log('fedCMSignIn result: ', identityCredential);\n if (!(identityCredential === null || identityCredential === void 0 ? void 0 : identityCredential.token)) {\n return FedCMSignInResult.OTHER_ERROR;\n }\n resolveSignInFunc({\n idToken: identityCredential.token,\n isAutoSelect: identityCredential.isAutoSelect\n });\n return FedCMSignInResult.SUCCESS;\n }\n catch (e) {\n // NotSupportedError DOMException\n // IdentityCredentialError DOMException\n // NetworkError DOMException --> name: 'NetworkError'\n // NotAllowedError DOMException\n const name = (_a = e.name) !== null && _a !== void 0 ? _a : '';\n const message = (_b = e.message) !== null && _b !== void 0 ? _b : '';\n // console.log('fedCMSignIn error: ', e, name);\n if (message.includes(this.cancelCalledAbortReason)\n || (name === 'NetworkError' && message.includes('Error retrieving a token.'))) {\n return FedCMSignInResult.CANCELLED;\n }\n return FedCMSignInResult.OTHER_ERROR;\n }\n finally {\n this.fedCMAbortController = undefined;\n }\n }\n fedCMSignOut() {\n navigator.credentials.preventSilentAccess();\n }\n fedCMAbort() {\n var _a;\n (_a = this.fedCMAbortController) === null || _a === void 0 ? void 0 : _a.abort({ message: this.cancelCalledAbortReason });\n }\n async doSignIn(autoSelect) {\n var signInPromise = new Promise(async (resolve, _reject) => {\n let fedCMResult = await this.fedCMSignIn(autoSelect, resolve);\n if (fedCMResult === FedCMSignInResult.CANCELLED) {\n resolve({ noSuccessReasonCode: 'SIGN_IN_CANCELLED' });\n }\n else if (fedCMResult === FedCMSignInResult.OTHER_ERROR) {\n this.oneTapInitialize(autoSelect, resolve); // The resolve function is passed, so it can be called in handleCredentialResponse.\n google.accounts.id.prompt();\n }\n });\n return signInPromise;\n }\n oneTapInitialize(autoSelect, resolveSignInFunc, buttonWebOptions) {\n var _a;\n google.accounts.id.initialize({\n client_id: this.initializeOptions.clientId,\n callback: (credentialResponse) => this.handleCredentialResponse(credentialResponse, resolveSignInFunc),\n auto_select: autoSelect,\n itp_support: (buttonWebOptions === null || buttonWebOptions === void 0 ? void 0 : buttonWebOptions.itpSupport) || false,\n cancel_on_tap_outside: ((_a = this.initializeOptions.webOptions) === null || _a === void 0 ? void 0 : _a.cancelOnTapOutside) || true,\n ux_mode: (buttonWebOptions === null || buttonWebOptions === void 0 ? void 0 : buttonWebOptions.uxMode) || 'popup',\n nonce: this.initializeOptions.nonce,\n use_fedcm_for_prompt: true,\n use_fedcm_for_button: true\n // log_level: 'debug'\n });\n }\n handleCredentialResponse(credentialResponse, resolveSignInFunc) {\n let signInResult = {\n idToken: credentialResponse.credential,\n isAutoSelect: credentialResponse.select_by === 'auto',\n };\n resolveSignInFunc(signInResult);\n }\n cancelOneTapDialog() {\n google.accounts.id.cancel();\n this.fedCMAbort();\n }\n signOut(authenticatedUserId) {\n if (this.isGapiLoadRequested === false) {\n this.fedCMSignOut();\n return Promise.resolve({ isSuccess: true });\n }\n return new Promise((resolve) => {\n if (authenticatedUserId) {\n // Calling revoke method revokes all OAuth2 scopes previously granted by the Sign In With Google client library.\n google.accounts.id.revoke(authenticatedUserId, response => {\n if (response.successful) {\n resolve({ isSuccess: true });\n }\n else {\n resolve({ isSuccess: false, error: response.error });\n }\n });\n }\n else {\n resolve({ isSuccess: true });\n }\n });\n }\n}\n//# sourceMappingURL=web.js.map","import { Capacitor, registerPlugin } from '@capacitor/core';\nimport { assert, randomHexString } from './helpers';\nimport { GoogleOneTapAuthWeb } from './web';\nimport { jwtDecode } from \"jwt-decode\";\nconst GoogleOneTapAuthPlatform = registerPlugin('GoogleOneTapAuth', {\n web: () => new GoogleOneTapAuthWeb(),\n});\nvar InitializeStatus;\n(function (InitializeStatus) {\n InitializeStatus[InitializeStatus[\"NotInitialized\"] = 0] = \"NotInitialized\";\n InitializeStatus[InitializeStatus[\"Initializing\"] = 1] = \"Initializing\";\n InitializeStatus[InitializeStatus[\"Initialized\"] = 2] = \"Initialized\";\n})(InitializeStatus || (InitializeStatus = {}));\n// This file is the entry point for all plugin methods. It contains common logic to web, android, iOS or delegates to the specific implementation.\nclass GoogleOneTapAuth {\n constructor() {\n this.initializeStatus = InitializeStatus.NotInitialized;\n this.authenticatedUserId = undefined;\n this.isInitializedPromise = new Promise((resolve) => {\n this.resolveIsInitializedPromise = resolve;\n });\n }\n /// Performs common or one-time initialization. Can be called multiple times.\n initialize(options) {\n if (this.initializeStatus === InitializeStatus.NotInitialized) {\n this.initializeStatus = InitializeStatus.Initializing;\n if (!options.clientId || options.clientId.endsWith(\"apps.googleusercontent.com\") == false) {\n throw new Error(\"clientId must end with 'apps.googleusercontent.com' but is: \" + options.clientId);\n }\n this.nonce = options.nonce = options.nonce || randomHexString(10);\n GoogleOneTapAuthPlatform.initialize(options).then(() => {\n this.initializeStatus = InitializeStatus.Initialized;\n this.resolveIsInitializedPromise();\n });\n }\n return this.isInitializedPromise;\n }\n async ensureInitialized() {\n assert(() => this.initializeStatus !== InitializeStatus.NotInitialized, 'Must call initialize first.');\n if (this.initializeStatus === InitializeStatus.Initializing) {\n await this.isInitializedPromise;\n }\n }\n async tryAutoOrOneTapSignIn() {\n await this.ensureInitialized();\n const notEnrichtedSignInResultOption = await GoogleOneTapAuthPlatform.tryAutoOrOneTapSignIn();\n const enrichtedSignInResultOption = this.enrichOptionResultWithDecodedIdToken(notEnrichtedSignInResultOption);\n this.onResultReceived(enrichtedSignInResultOption);\n return enrichtedSignInResultOption;\n }\n async tryOneTapSignIn() {\n await this.ensureInitialized();\n const notEnrichtedSignInResultOption = await GoogleOneTapAuthPlatform.tryOneTapSignIn();\n const enrichtedSignInResultOption = this.enrichOptionResultWithDecodedIdToken(notEnrichtedSignInResultOption);\n this.onResultReceived(enrichtedSignInResultOption);\n return enrichtedSignInResultOption;\n }\n async tryAutoSignIn() {\n await this.ensureInitialized();\n const notEnrichtedSignInResultOption = await GoogleOneTapAuthPlatform.tryAutoSignIn();\n const enrichtedSignInResultOption = this.enrichOptionResultWithDecodedIdToken(notEnrichtedSignInResultOption);\n this.onResultReceived(enrichtedSignInResultOption);\n return enrichtedSignInResultOption;\n }\n onResultReceived(signInResultOption) {\n if (signInResultOption.isSuccess) {\n this.authenticatedUserId = signInResultOption.success.userId;\n }\n }\n cancelOneTapDialog() {\n GoogleOneTapAuthPlatform.cancelOneTapDialog();\n }\n async signOut() {\n const result = await GoogleOneTapAuthPlatform.signOut(this.authenticatedUserId);\n this.authenticatedUserId = undefined;\n return result;\n }\n async addSignInActionToExistingButton(buttonParentId, buttonId) {\n await this.ensureInitialized();\n const buttonParentElem = document.getElementById(buttonParentId);\n const buttonElem = document.getElementById(buttonId);\n assert(() => !!buttonParentElem);\n assert(() => !!buttonElem);\n if (Capacitor.getPlatform() === 'web') {\n buttonParentElem.style.position = 'relative';\n buttonParentElem.style.overflow = 'hidden';\n // buttonParentElem!.style.border = '2px solid red'; // uncomment for debugging\n // The visible button width should be the same as the google button width.\n const buttonElemWidth = await this.waitForElementOffsetWidthNotZero(buttonElem);\n assert(() => buttonElemWidth !== 0);\n const invisibleGoogleButtonDiv = document.createElement('div');\n const invisibleGoogleButtonDivId = 'invisibleGoogleButtonDiv';\n invisibleGoogleButtonDiv.setAttribute('id', invisibleGoogleButtonDivId);\n invisibleGoogleButtonDiv.style.position = 'absolute';\n invisibleGoogleButtonDiv.style.top = '0px';\n invisibleGoogleButtonDiv.style.left = '0px';\n invisibleGoogleButtonDiv.style.width = `${buttonElemWidth}px`;\n invisibleGoogleButtonDiv.style.boxSizing = 'border-box';\n invisibleGoogleButtonDiv.style.opacity = '0.0001'; // change it for debugging\n buttonElem.appendChild(invisibleGoogleButtonDiv);\n return await this._doRenderSignInButton(invisibleGoogleButtonDivId, {}, { width: buttonElemWidth }, buttonElem);\n }\n else {\n return await this._doRenderSignInButton(buttonParentId, {}, {}, buttonElem);\n }\n }\n waitForElementOffsetWidthNotZero(element) {\n if (element.offsetWidth !== 0) {\n return Promise.resolve(element.offsetWidth);\n }\n return new Promise((resolve) => {\n const resizeObserver = new ResizeObserver(() => {\n if (element.offsetWidth !== 0) {\n resolve(element.offsetWidth);\n }\n });\n resizeObserver.observe(element);\n });\n }\n async renderSignInButton(parentElementId, options, gsiButtonConfiguration) {\n const androidAndIosButtonElem = this.getSignInButtonHtml(gsiButtonConfiguration);\n return this._doRenderSignInButton(parentElementId, options, gsiButtonConfiguration, androidAndIosButtonElem);\n }\n async _doRenderSignInButton(parentElementId, options, gsiButtonConfiguration, androidAndIosButtonElem) {\n await this.ensureInitialized();\n const parentElem = document.getElementById(parentElementId);\n assert(() => !!parentElem);\n options.webOptions = options.webOptions || {};\n return new Promise(async (resolve, reject) => {\n try {\n if (Capacitor.getPlatform() === 'web') {\n const notEnrichedSuccessSignInResult = await GoogleOneTapAuthPlatform.renderSignInButton(parentElementId, options, gsiButtonConfiguration);\n const enrichtedSuccessSignInResult = this.enrichSuccessResultWithDecodedIdToken(notEnrichedSuccessSignInResult);\n this.authenticatedUserId = enrichtedSuccessSignInResult.userId;\n resolve(enrichtedSuccessSignInResult);\n return;\n }\n const onClickAction = async () => {\n var _a;\n try {\n const notEnrichedSuccessSignInResult = await GoogleOneTapAuthPlatform.triggerGoogleSignIn(options);\n if (notEnrichedSuccessSignInResult.isSuccess) {\n const enrichtedSuccessSignInResult = this.enrichSuccessResultWithDecodedIdToken(notEnrichedSuccessSignInResult.success);\n this.authenticatedUserId = enrichtedSuccessSignInResult.userId;\n resolve(enrichtedSuccessSignInResult);\n }\n else {\n if (((_a = notEnrichedSuccessSignInResult.noSuccess) === null || _a === void 0 ? void 0 : _a.noSuccessReasonCode) === 'SIGN_IN_CANCELLED') {\n // console.log('User cancelled sign in. Waiting for next sign in attempt.');\n }\n }\n }\n catch (e) {\n reject(e);\n }\n };\n androidAndIosButtonElem.onclick = onClickAction;\n parentElem.appendChild(androidAndIosButtonElem);\n }\n catch (e) {\n reject(e);\n }\n });\n }\n getNonce() {\n assert(() => !!this.nonce, `The nonce is only set after ${() => this.initialize} was called.`);\n return this.nonce;\n }\n enrichOptionResultWithDecodedIdToken(signInResultOption) {\n if (signInResultOption.isSuccess === false) {\n return signInResultOption;\n }\n return Object.assign(Object.assign({}, signInResultOption), { success: this.enrichSuccessResultWithDecodedIdToken(signInResultOption.success) });\n }\n enrichSuccessResultWithDecodedIdToken(successSignInResult) {\n const decodedJwt = jwtDecode(successSignInResult.idToken);\n return Object.assign(Object.assign({}, successSignInResult), { decodedIdToken: decodedJwt, userId: decodedJwt.sub, email: decodedJwt.email });\n }\n getSignInButtonHtml(gsiButtonConfiguration) {\n var _a;\n // Note: Replacing double quotes with single quotes will break some strings.\n const localizedStrings = {\n en: { signin: 'Sign in', continue_with: 'Continue with Google', signin_with: 'Sign in with Google', signup_with: 'Sign up with Google' },\n ar: { signin: '\\u062a\\u0633\\u062c\\u064a\\u0644 \\u0627\\u0644\\u062f\\u062e\\u0648\\u0644', continue_with: '\\u0627\\u0644\\u0645\\u0648\\u0627\\u0635\\u0644\\u0629 \\u0628\\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 Google', signin_with: '\\u062a\\u0633\\u062c\\u064a\\u0644 \\u0627\\u0644\\u062f\\u062e\\u0648\\u0644 \\u0628\\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 Google', signup_with: '\\u0627\\u0644\\u0627\\u0634\\u062a\\u0631\\u0627\\u0643 \\u0645\\u0646 \\u062e\\u0644\\u0627\\u0644 Google' },\n sr: { signin: '\\u041f\\u0440\\u0438\\u0458\\u0430\\u0432\\u0438 \\u043c\\u0435', continue_with: '\\u041d\\u0430\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u0435 \\u0441\\u0430 Google-\\u043e\\u043c', signin_with: '\\u041f\\u0440\\u0438\\u0458\\u0430\\u0432\\u0438\\u0442\\u0435 \\u0441\\u0435 \\u043f\\u043e\\u043c\\u043e\\u045b\\u0443 Google-\\u0430', signup_with: '\\u0420\\u0435\\u0433\\u0438\\u0441\\u0442\\u0440\\u0443\\u0458\\u0442\\u0435 \\u0441\\u0435 \\u043f\\u043e\\u043c\\u043e\\u045b\\u0443 Google-\\u0430' },\n nb: { signin: 'Logg p\\u00e5', continue_with: 'Fortsett med Google', signin_with: 'Logg p\\u00e5 med Google', signup_with: 'Registrer deg med Google' },\n pl: { signin: 'Zaloguj si\\u0119', continue_with: 'Kontynuuj przy u\\u017cyciu konta Google', signin_with: 'Zaloguj si\\u0119 przez Google', signup_with: 'Zarejestruj si\\u0119 przez Google' },\n vi: { signin: '\\u0110\\u0103ng nh\\u1eadp', continue_with: 'Ti\\u1ebfp t\\u1ee5c truy c\\u1eadp Google', signin_with: '\\u0110\\u0103ng nh\\u00e2\\u0323p b\\u0103\\u0300ng Google', signup_with: '\\u0110\\u0103ng k\\u00fd b\\u1eb1ng Google' },\n cs: { signin: 'P\\u0159ihl\\u00e1sit se', continue_with: 'Pokra\\u010dovat pomoc\\u00ed Googlu', signin_with: \"P\\u0159ihl\\u00e1sit se p\\u0159es Google\", signup_with: 'Registrace pomoc\\u00ed Googlu' },\n id: { signin: 'Login', continue_with: 'Lanjutkan dengan Google', signin_with: 'Login dengan Google', signup_with: 'Daftar dengan Google' },\n nl: { signin: 'Inloggen', continue_with: 'Doorgaan met Google', signin_with: 'Inloggen met Google', signup_with: 'Aanmelden bij Google' },\n gl: { signin: 'Iniciar sesi\\u00f3n', continue_with: 'Continuar con Google', signin_with: 'Iniciar sesi\\u00f3n con Google', signup_with: 'Iniciar sesi\\u00f3n con Google' },\n sv: { signin: 'Logga in', continue_with: 'Forts\\u00e4tt med Google', signin_with: 'Logga in med Google', signup_with: 'Registrera dig med Google' },\n lv: { signin: 'Pierakst\\u012b\\u0161an\\u0101s', continue_with: 'Turpin\\u0101t darbu ar Google', signin_with: 'Pierakstieties ar Google', signup_with: 'Re\\u0123istr\\u0113\\u0161an\\u0101s, izmantojot Google' },\n tr: { signin: 'Oturum a\\u00e7\\u0131n', continue_with: 'Google ile devam edin', signin_with: 'Google ile oturum a\\u00e7\\u0131n', signup_with: 'Google ile kaydolun' },\n it: { signin: 'Accedi', continue_with: 'Continua con Google', signin_with: 'Accedi con Google', signup_with: 'Registrati con Google' },\n sq: { signin: 'Identifikohu', continue_with: 'Vazhdo me Google', signin_with: 'Identifikohu me Google', signup_with: 'Regjistrohu me Google' },\n ro: { signin: 'Conecteaz\\u0103-te', continue_with: 'Continu\\u0103 cu Google', signin_with: 'Conecteaz\\u0103-te cu Google', signup_with: '\\u00censcrie-te cu Google' },\n de: { signin: 'Anmelden', continue_with: 'Weiter mit Google', signin_with: '\\u00dcber Google anmelden', signup_with: 'Mit Google anmelden' },\n ko: { signin: '\\ub85c\\uadf8\\uc778', continue_with: 'Google \\uacc4\\uc815\\uc73c\\ub85c \\uacc4\\uc18d\\ud558\\uae30', signin_with: 'Google \\uacc4\\uc815\\uc73c\\ub85c \\ub85c\\uadf8\\uc778', signup_with: 'Google \\uacc4\\uc815\\uc73c\\ub85c \\uac00\\uc785\\ud558\\uae30' },\n fr: { signin: 'Se connecter', continue_with: 'Continuer avec Google', signin_with: 'Se connecter avec Google', signup_with: \"S'inscrire avec Google\" },\n kmr: { signin: 'Oturum a\\u00e7\\u0131n', continue_with: 'Google ile devam edin', signin_with: 'Google ile oturum a\\u00e7\\u0131n', signup_with: 'Google ile kaydolun' },\n zh: { signin: '\\u767b\\u5f55', continue_with: '\\u901a\\u8fc7 Google \\u7ee7\\u7eed\\u64cd\\u4f5c', signin_with: \"\\u4f7f\\u7528 Google \\u5e10\\u53f7\\u767b\\u5f55\", signup_with: '\\u4f7f\\u7528 Google \\u5e10\\u53f7\\u6ce8\\u518c' },\n 'zh-CN': { signin: '\\u767b\\u5f55', continue_with: '\\u901a\\u8fc7 Google \\u7ee7\\u7eed\\u64cd\\u4f5c', signin_with: \"\\u4f7f\\u7528 Google \\u5e10\\u53f7\\u767b\\u5f55\", signup_with: '\\u4f7f\\u7528 Google \\u5e10\\u53f7\\u6ce8\\u518c' },\n 'zh-HK': { signin: '\\u767b\\u5165', continue_with: '\\u7e7c\\u7e8c\\u900f\\u904e Google \\u5e33\\u6236\\u64cd\\u4f5c', signin_with: '\\u4f7f\\u7528 Google \\u5e33\\u6236\\u767b\\u5165', signup_with: '\\u4f7f\\u7528 Google \\u5e33\\u6236\\u8a3b\\u518a' },\n pt: { signin: 'Fazer login', continue_with: 'Continuar com o Google', signin_with: 'Fazer login com o Google', signup_with: 'Inscrever-se no Google' },\n es: { signin: 'Iniciar sesi\\u00f3n', continue_with: 'Continuar con Google', signin_with: 'Iniciar sesi\\u00f3n con Google', signup_with: 'Registrarse con Google' },\n };\n const locale = gsiButtonConfiguration === null || gsiButtonConfiguration === void 0 ? void 0 : gsiButtonConfiguration.locale;\n let localeTexts = locale !== undefined && locale in localizedStrings ? (localizedStrings[locale]) : undefined;\n if (localeTexts === undefined) {\n const countryCode = (locale === null || locale === void 0 ? void 0 : locale.includes('-')) === true ? locale.split('-')[1] : (locale !== null && locale !== void 0 ? locale : '');\n localeTexts = countryCode in localizedStrings ? localizedStrings[countryCode] : localizedStrings['en'];\n }\n const text = (_a = gsiButtonConfiguration === null || gsiButtonConfiguration === void 0 ? void 0 : gsiButtonConfiguration.text) !== null && _a !== void 0 ? _a : 'signin_with';\n const buttonText = localeTexts[text];\n // HTML from https://github.com/inouiw/ReactSignInWithGoogleButton\n const button = document.createElement('button');\n button.setAttribute(\"style\", \"border-radius: 4px; background-color: rgb(255, 255, 255); border: 1px solid rgb(218, 220, 224); color: rgb(60, 64, 67); cursor: pointer; font-family: Roboto, Verdana; font-weight: 500; font-size: 14px; height: 40px; letter-spacing: 0.25px; padding: 0px 12px; position: relative; text-align: center; vertical-align: middle; width: auto;\");\n button.innerHTML = `\n <div style=\"display: flex; align-items: center; flex-flow: row nowrap; justify-content: space-between; height: 100%; position: relative; width: 100%;\">\n <div style=\"height: 18px; margin-right: 8px; min-width: 18px; width: 18px;\">\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18px\" height=\"18px\" viewBox=\"0 0 48 48\">\n <g>\n <path fill=\"#EA4335\" d=\"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z\"></path>\n <path fill=\"#4285F4\" d=\"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z\"></path>\n <path fill=\"#FBBC05\" d=\"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z\"></path>\n <path fill=\"#34A853\" d=\"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z\"></path>\n <path fill=\"none\" d=\"M0 0h48v48H0z\"></path>\n </g>\n </svg>\n </div>\n <p>${buttonText}</p>\n </div>`;\n return button;\n }\n}\nconst googleOneTapAuth = new GoogleOneTapAuth();\nexport { googleOneTapAuth as GoogleOneTapAuth };\n//# sourceMappingURL=GoogleOneTapAuth.js.map"],"names":["WebPlugin","registerPlugin","Capacitor","jwtDecode"],"mappings":"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"}
|
package/dist/plugin.js
CHANGED
|
@@ -215,7 +215,7 @@ var capacitorNativeGoogleOneTapSignin = (function (exports, core, jwtDecode) {
|
|
|
215
215
|
handleCredentialResponse(credentialResponse, resolveSignInFunc) {
|
|
216
216
|
let signInResult = {
|
|
217
217
|
idToken: credentialResponse.credential,
|
|
218
|
-
isAutoSelect: credentialResponse.
|
|
218
|
+
isAutoSelect: credentialResponse.select_by === 'auto',
|
|
219
219
|
};
|
|
220
220
|
resolveSignInFunc(signInResult);
|
|
221
221
|
}
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["esm/helpers.js","esm/web.js","esm/GoogleOneTapAuth.js"],"sourcesContent":["export function assert(predicate, customMessage) {\n if (!predicate()) {\n const callerName = callingFunctionName();\n if (customMessage != undefined) {\n throw Error(customMessage + `. Error in ${callerName}.`);\n }\n throw Error(`Assert error, expected '${predicate}' to be true. Error in ${callerName}.`);\n }\n}\nexport function randomHexString(length) {\n let uint8RandomNumbers = new Uint8Array((length / 2) + 1);\n uint8RandomNumbers = crypto.getRandomValues(uint8RandomNumbers);\n const numbersAsHexString = Array.from(uint8RandomNumbers).map(x => x.toString(16)).join('');\n return numbersAsHexString.substring(0, length);\n}\nfunction callingFunctionName() {\n var _a;\n try {\n return (_a = (new Error()).stack) === null || _a === void 0 ? void 0 : _a.split(\"\\n\")[3].trim().split(\" \")[1];\n }\n catch (_b) {\n // ignore.\n }\n}\nexport function loadScript(url) {\n return new Promise((resolve, reject) => {\n var scriptEl = document.createElement('script');\n scriptEl.async = true;\n scriptEl.onerror = () => reject();\n scriptEl.onload = () => resolve();\n scriptEl.src = url;\n document.getElementsByTagName('head')[0].appendChild(scriptEl);\n });\n}\n//# sourceMappingURL=helpers.js.map","import { WebPlugin } from '@capacitor/core';\nimport { assert, loadScript } from './helpers';\nvar FedCMSignInResult;\n(function (FedCMSignInResult) {\n FedCMSignInResult[FedCMSignInResult[\"SUCCESS\"] = 0] = \"SUCCESS\";\n FedCMSignInResult[FedCMSignInResult[\"CANCELLED\"] = 1] = \"CANCELLED\";\n FedCMSignInResult[FedCMSignInResult[\"OTHER_ERROR\"] = 2] = \"OTHER_ERROR\";\n})(FedCMSignInResult || (FedCMSignInResult = {}));\n// See https://developers.google.com/identity/gsi/web/guides/use-one-tap-js-api\nexport class GoogleOneTapAuthWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.gsiScriptUrl = 'https://accounts.google.com/gsi/client';\n this.gapiLoadedPromise = undefined;\n this.initializeOptions = undefined;\n this.isGapiLoadRequested = false;\n this.fedCMAbortController = undefined;\n this.cancelCalledAbortReason = 'CANCEL_CALLED';\n }\n async initialize(options) {\n this.initializeOptions = options;\n if (!this.gapiLoadedPromise) {\n this.gapiLoadedPromise = loadScript(this.gsiScriptUrl);\n this.isGapiLoadRequested = true;\n }\n return this.gapiLoadedPromise;\n }\n async tryAutoOrOneTapSignIn() {\n let signInResult = await this.doSignIn(true);\n if (!signInResult.idToken\n // If the popup was cancelled, do not show it again.\n && signInResult.noSuccessReasonCode !== 'SIGN_IN_CANCELLED') {\n signInResult = await this.doSignIn(false);\n }\n if (signInResult.idToken) {\n return {\n isSuccess: true,\n success: signInResult\n };\n }\n else {\n return {\n isSuccess: false,\n noSuccess: signInResult\n };\n }\n }\n async tryOneTapSignIn() {\n let signInResult = await this.doSignIn(false);\n if (signInResult.idToken) {\n return {\n isSuccess: true,\n success: signInResult\n };\n }\n else {\n return {\n isSuccess: false,\n noSuccess: signInResult\n };\n }\n }\n async tryAutoSignIn() {\n let signInResult = await this.doSignIn(true);\n if (signInResult.idToken) {\n return {\n isSuccess: true,\n success: signInResult\n };\n }\n else {\n return {\n isSuccess: false,\n noSuccess: signInResult\n };\n }\n }\n async renderSignInButton(parentElementId, options, gsiButtonConfiguration) {\n const parentElem = document.getElementById(parentElementId);\n assert(() => !!parentElem);\n var signInPromise = new Promise((resolve) => {\n this.oneTapInitialize(false, resolve, options.webOptions);\n // // Adding a click_listener allows to detect when the popup is opened.\n // (gsiButtonConfiguration as any).click_listener = () => {\n // console.log('click_listener');\n // };\n google.accounts.id.renderButton(parentElem, gsiButtonConfiguration);\n });\n return signInPromise;\n }\n async fedCMSignIn(autoSelect, resolveSignInFunc) {\n var _a, _b;\n try {\n // console.log(`IdentityCredential supported: ${'IdentityCredential' in window}`);\n if ('IdentityCredential' in window === false) {\n return FedCMSignInResult.OTHER_ERROR;\n }\n this.fedCMAbortController = new AbortController();\n // see https://developers.google.com/privacy-sandbox/3pcd/fedcm\n // see https://developers.google.com/privacy-sandbox/blog/fedcm-auto-reauthn\n const identityCredential = await navigator.credentials.get({\n identity: {\n context: 'signin',\n providers: [\n {\n configURL: 'https://accounts.google.com/gsi/fedcm.json',\n clientId: this.initializeOptions.clientId,\n // loginHint: ''\n nonce: this.initializeOptions.nonce\n }\n ]\n },\n mediation: autoSelect ? 'optional' : 'required',\n signal: this.fedCMAbortController.signal\n });\n // console.log('fedCMSignIn result: ', identityCredential);\n if (!(identityCredential === null || identityCredential === void 0 ? void 0 : identityCredential.token)) {\n return FedCMSignInResult.OTHER_ERROR;\n }\n resolveSignInFunc({\n idToken: identityCredential.token,\n isAutoSelect: identityCredential.isAutoSelect\n });\n return FedCMSignInResult.SUCCESS;\n }\n catch (e) {\n // NotSupportedError DOMException\n // IdentityCredentialError DOMException\n // NetworkError DOMException --> name: 'NetworkError'\n // NotAllowedError DOMException\n const name = (_a = e.name) !== null && _a !== void 0 ? _a : '';\n const message = (_b = e.message) !== null && _b !== void 0 ? _b : '';\n // console.log('fedCMSignIn error: ', e, name);\n if (message.includes(this.cancelCalledAbortReason)\n || (name === 'NetworkError' && message.includes('Error retrieving a token.'))) {\n return FedCMSignInResult.CANCELLED;\n }\n return FedCMSignInResult.OTHER_ERROR;\n }\n finally {\n this.fedCMAbortController = undefined;\n }\n }\n fedCMSignOut() {\n navigator.credentials.preventSilentAccess();\n }\n fedCMAbort() {\n var _a;\n (_a = this.fedCMAbortController) === null || _a === void 0 ? void 0 : _a.abort({ message: this.cancelCalledAbortReason });\n }\n async doSignIn(autoSelect) {\n var signInPromise = new Promise(async (resolve, _reject) => {\n let fedCMResult = await this.fedCMSignIn(autoSelect, resolve);\n if (fedCMResult === FedCMSignInResult.CANCELLED) {\n resolve({ noSuccessReasonCode: 'SIGN_IN_CANCELLED' });\n }\n else if (fedCMResult === FedCMSignInResult.OTHER_ERROR) {\n this.oneTapInitialize(autoSelect, resolve); // The resolve function is passed, so it can be called in handleCredentialResponse.\n google.accounts.id.prompt();\n }\n });\n return signInPromise;\n }\n oneTapInitialize(autoSelect, resolveSignInFunc, buttonWebOptions) {\n var _a;\n google.accounts.id.initialize({\n client_id: this.initializeOptions.clientId,\n callback: (credentialResponse) => this.handleCredentialResponse(credentialResponse, resolveSignInFunc),\n auto_select: autoSelect,\n itp_support: (buttonWebOptions === null || buttonWebOptions === void 0 ? void 0 : buttonWebOptions.itpSupport) || false,\n cancel_on_tap_outside: ((_a = this.initializeOptions.webOptions) === null || _a === void 0 ? void 0 : _a.cancelOnTapOutside) || true,\n ux_mode: (buttonWebOptions === null || buttonWebOptions === void 0 ? void 0 : buttonWebOptions.uxMode) || 'popup',\n nonce: this.initializeOptions.nonce,\n use_fedcm_for_prompt: true,\n use_fedcm_for_button: true\n // log_level: 'debug'\n });\n }\n handleCredentialResponse(credentialResponse, resolveSignInFunc) {\n let signInResult = {\n idToken: credentialResponse.credential,\n isAutoSelect: credentialResponse.isAutoSelect,\n };\n resolveSignInFunc(signInResult);\n }\n cancelOneTapDialog() {\n google.accounts.id.cancel();\n this.fedCMAbort();\n }\n signOut(authenticatedUserId) {\n if (this.isGapiLoadRequested === false) {\n this.fedCMSignOut();\n return Promise.resolve({ isSuccess: true });\n }\n return new Promise((resolve) => {\n if (authenticatedUserId) {\n // Calling revoke method revokes all OAuth2 scopes previously granted by the Sign In With Google client library.\n google.accounts.id.revoke(authenticatedUserId, response => {\n if (response.successful) {\n resolve({ isSuccess: true });\n }\n else {\n resolve({ isSuccess: false, error: response.error });\n }\n });\n }\n else {\n resolve({ isSuccess: true });\n }\n });\n }\n}\n//# sourceMappingURL=web.js.map","import { Capacitor, registerPlugin } from '@capacitor/core';\nimport { assert, randomHexString } from './helpers';\nimport { GoogleOneTapAuthWeb } from './web';\nimport { jwtDecode } from \"jwt-decode\";\nconst GoogleOneTapAuthPlatform = registerPlugin('GoogleOneTapAuth', {\n web: () => new GoogleOneTapAuthWeb(),\n});\nvar InitializeStatus;\n(function (InitializeStatus) {\n InitializeStatus[InitializeStatus[\"NotInitialized\"] = 0] = \"NotInitialized\";\n InitializeStatus[InitializeStatus[\"Initializing\"] = 1] = \"Initializing\";\n InitializeStatus[InitializeStatus[\"Initialized\"] = 2] = \"Initialized\";\n})(InitializeStatus || (InitializeStatus = {}));\n// This file is the entry point for all plugin methods. It contains common logic to web, android, iOS or delegates to the specific implementation.\nclass GoogleOneTapAuth {\n constructor() {\n this.initializeStatus = InitializeStatus.NotInitialized;\n this.authenticatedUserId = undefined;\n this.isInitializedPromise = new Promise((resolve) => {\n this.resolveIsInitializedPromise = resolve;\n });\n }\n /// Performs common or one-time initialization. Can be called multiple times.\n initialize(options) {\n if (this.initializeStatus === InitializeStatus.NotInitialized) {\n this.initializeStatus = InitializeStatus.Initializing;\n if (!options.clientId || options.clientId.endsWith(\"apps.googleusercontent.com\") == false) {\n throw new Error(\"clientId must end with 'apps.googleusercontent.com' but is: \" + options.clientId);\n }\n this.nonce = options.nonce = options.nonce || randomHexString(10);\n GoogleOneTapAuthPlatform.initialize(options).then(() => {\n this.initializeStatus = InitializeStatus.Initialized;\n this.resolveIsInitializedPromise();\n });\n }\n return this.isInitializedPromise;\n }\n async ensureInitialized() {\n assert(() => this.initializeStatus !== InitializeStatus.NotInitialized, 'Must call initialize first.');\n if (this.initializeStatus === InitializeStatus.Initializing) {\n await this.isInitializedPromise;\n }\n }\n async tryAutoOrOneTapSignIn() {\n await this.ensureInitialized();\n const notEnrichtedSignInResultOption = await GoogleOneTapAuthPlatform.tryAutoOrOneTapSignIn();\n const enrichtedSignInResultOption = this.enrichOptionResultWithDecodedIdToken(notEnrichtedSignInResultOption);\n this.onResultReceived(enrichtedSignInResultOption);\n return enrichtedSignInResultOption;\n }\n async tryOneTapSignIn() {\n await this.ensureInitialized();\n const notEnrichtedSignInResultOption = await GoogleOneTapAuthPlatform.tryOneTapSignIn();\n const enrichtedSignInResultOption = this.enrichOptionResultWithDecodedIdToken(notEnrichtedSignInResultOption);\n this.onResultReceived(enrichtedSignInResultOption);\n return enrichtedSignInResultOption;\n }\n async tryAutoSignIn() {\n await this.ensureInitialized();\n const notEnrichtedSignInResultOption = await GoogleOneTapAuthPlatform.tryAutoSignIn();\n const enrichtedSignInResultOption = this.enrichOptionResultWithDecodedIdToken(notEnrichtedSignInResultOption);\n this.onResultReceived(enrichtedSignInResultOption);\n return enrichtedSignInResultOption;\n }\n onResultReceived(signInResultOption) {\n if (signInResultOption.isSuccess) {\n this.authenticatedUserId = signInResultOption.success.userId;\n }\n }\n cancelOneTapDialog() {\n GoogleOneTapAuthPlatform.cancelOneTapDialog();\n }\n async signOut() {\n const result = await GoogleOneTapAuthPlatform.signOut(this.authenticatedUserId);\n this.authenticatedUserId = undefined;\n return result;\n }\n async addSignInActionToExistingButton(buttonParentId, buttonId) {\n await this.ensureInitialized();\n const buttonParentElem = document.getElementById(buttonParentId);\n const buttonElem = document.getElementById(buttonId);\n assert(() => !!buttonParentElem);\n assert(() => !!buttonElem);\n if (Capacitor.getPlatform() === 'web') {\n buttonParentElem.style.position = 'relative';\n buttonParentElem.style.overflow = 'hidden';\n // buttonParentElem!.style.border = '2px solid red'; // uncomment for debugging\n // The visible button width should be the same as the google button width.\n const buttonElemWidth = await this.waitForElementOffsetWidthNotZero(buttonElem);\n assert(() => buttonElemWidth !== 0);\n const invisibleGoogleButtonDiv = document.createElement('div');\n const invisibleGoogleButtonDivId = 'invisibleGoogleButtonDiv';\n invisibleGoogleButtonDiv.setAttribute('id', invisibleGoogleButtonDivId);\n invisibleGoogleButtonDiv.style.position = 'absolute';\n invisibleGoogleButtonDiv.style.top = '0px';\n invisibleGoogleButtonDiv.style.left = '0px';\n invisibleGoogleButtonDiv.style.width = `${buttonElemWidth}px`;\n invisibleGoogleButtonDiv.style.boxSizing = 'border-box';\n invisibleGoogleButtonDiv.style.opacity = '0.0001'; // change it for debugging\n buttonElem.appendChild(invisibleGoogleButtonDiv);\n return await this._doRenderSignInButton(invisibleGoogleButtonDivId, {}, { width: buttonElemWidth }, buttonElem);\n }\n else {\n return await this._doRenderSignInButton(buttonParentId, {}, {}, buttonElem);\n }\n }\n waitForElementOffsetWidthNotZero(element) {\n if (element.offsetWidth !== 0) {\n return Promise.resolve(element.offsetWidth);\n }\n return new Promise((resolve) => {\n const resizeObserver = new ResizeObserver(() => {\n if (element.offsetWidth !== 0) {\n resolve(element.offsetWidth);\n }\n });\n resizeObserver.observe(element);\n });\n }\n async renderSignInButton(parentElementId, options, gsiButtonConfiguration) {\n const androidAndIosButtonElem = this.getSignInButtonHtml(gsiButtonConfiguration);\n return this._doRenderSignInButton(parentElementId, options, gsiButtonConfiguration, androidAndIosButtonElem);\n }\n async _doRenderSignInButton(parentElementId, options, gsiButtonConfiguration, androidAndIosButtonElem) {\n await this.ensureInitialized();\n const parentElem = document.getElementById(parentElementId);\n assert(() => !!parentElem);\n options.webOptions = options.webOptions || {};\n return new Promise(async (resolve, reject) => {\n try {\n if (Capacitor.getPlatform() === 'web') {\n const notEnrichedSuccessSignInResult = await GoogleOneTapAuthPlatform.renderSignInButton(parentElementId, options, gsiButtonConfiguration);\n const enrichtedSuccessSignInResult = this.enrichSuccessResultWithDecodedIdToken(notEnrichedSuccessSignInResult);\n this.authenticatedUserId = enrichtedSuccessSignInResult.userId;\n resolve(enrichtedSuccessSignInResult);\n return;\n }\n const onClickAction = async () => {\n var _a;\n try {\n const notEnrichedSuccessSignInResult = await GoogleOneTapAuthPlatform.triggerGoogleSignIn(options);\n if (notEnrichedSuccessSignInResult.isSuccess) {\n const enrichtedSuccessSignInResult = this.enrichSuccessResultWithDecodedIdToken(notEnrichedSuccessSignInResult.success);\n this.authenticatedUserId = enrichtedSuccessSignInResult.userId;\n resolve(enrichtedSuccessSignInResult);\n }\n else {\n if (((_a = notEnrichedSuccessSignInResult.noSuccess) === null || _a === void 0 ? void 0 : _a.noSuccessReasonCode) === 'SIGN_IN_CANCELLED') {\n // console.log('User cancelled sign in. Waiting for next sign in attempt.');\n }\n }\n }\n catch (e) {\n reject(e);\n }\n };\n androidAndIosButtonElem.onclick = onClickAction;\n parentElem.appendChild(androidAndIosButtonElem);\n }\n catch (e) {\n reject(e);\n }\n });\n }\n getNonce() {\n assert(() => !!this.nonce, `The nonce is only set after ${() => this.initialize} was called.`);\n return this.nonce;\n }\n enrichOptionResultWithDecodedIdToken(signInResultOption) {\n if (signInResultOption.isSuccess === false) {\n return signInResultOption;\n }\n return Object.assign(Object.assign({}, signInResultOption), { success: this.enrichSuccessResultWithDecodedIdToken(signInResultOption.success) });\n }\n enrichSuccessResultWithDecodedIdToken(successSignInResult) {\n const decodedJwt = jwtDecode(successSignInResult.idToken);\n return Object.assign(Object.assign({}, successSignInResult), { decodedIdToken: decodedJwt, userId: decodedJwt.sub, email: decodedJwt.email });\n }\n getSignInButtonHtml(gsiButtonConfiguration) {\n var _a;\n // Note: Replacing double quotes with single quotes will break some strings.\n const localizedStrings = {\n en: { signin: 'Sign in', continue_with: 'Continue with Google', signin_with: 'Sign in with Google', signup_with: 'Sign up with Google' },\n ar: { signin: '\\u062a\\u0633\\u062c\\u064a\\u0644 \\u0627\\u0644\\u062f\\u062e\\u0648\\u0644', continue_with: '\\u0627\\u0644\\u0645\\u0648\\u0627\\u0635\\u0644\\u0629 \\u0628\\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 Google', signin_with: '\\u062a\\u0633\\u062c\\u064a\\u0644 \\u0627\\u0644\\u062f\\u062e\\u0648\\u0644 \\u0628\\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 Google', signup_with: '\\u0627\\u0644\\u0627\\u0634\\u062a\\u0631\\u0627\\u0643 \\u0645\\u0646 \\u062e\\u0644\\u0627\\u0644 Google' },\n sr: { signin: '\\u041f\\u0440\\u0438\\u0458\\u0430\\u0432\\u0438 \\u043c\\u0435', continue_with: '\\u041d\\u0430\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u0435 \\u0441\\u0430 Google-\\u043e\\u043c', signin_with: '\\u041f\\u0440\\u0438\\u0458\\u0430\\u0432\\u0438\\u0442\\u0435 \\u0441\\u0435 \\u043f\\u043e\\u043c\\u043e\\u045b\\u0443 Google-\\u0430', signup_with: '\\u0420\\u0435\\u0433\\u0438\\u0441\\u0442\\u0440\\u0443\\u0458\\u0442\\u0435 \\u0441\\u0435 \\u043f\\u043e\\u043c\\u043e\\u045b\\u0443 Google-\\u0430' },\n nb: { signin: 'Logg p\\u00e5', continue_with: 'Fortsett med Google', signin_with: 'Logg p\\u00e5 med Google', signup_with: 'Registrer deg med Google' },\n pl: { signin: 'Zaloguj si\\u0119', continue_with: 'Kontynuuj przy u\\u017cyciu konta Google', signin_with: 'Zaloguj si\\u0119 przez Google', signup_with: 'Zarejestruj si\\u0119 przez Google' },\n vi: { signin: '\\u0110\\u0103ng nh\\u1eadp', continue_with: 'Ti\\u1ebfp t\\u1ee5c truy c\\u1eadp Google', signin_with: '\\u0110\\u0103ng nh\\u00e2\\u0323p b\\u0103\\u0300ng Google', signup_with: '\\u0110\\u0103ng k\\u00fd b\\u1eb1ng Google' },\n cs: { signin: 'P\\u0159ihl\\u00e1sit se', continue_with: 'Pokra\\u010dovat pomoc\\u00ed Googlu', signin_with: \"P\\u0159ihl\\u00e1sit se p\\u0159es Google\", signup_with: 'Registrace pomoc\\u00ed Googlu' },\n id: { signin: 'Login', continue_with: 'Lanjutkan dengan Google', signin_with: 'Login dengan Google', signup_with: 'Daftar dengan Google' },\n nl: { signin: 'Inloggen', continue_with: 'Doorgaan met Google', signin_with: 'Inloggen met Google', signup_with: 'Aanmelden bij Google' },\n gl: { signin: 'Iniciar sesi\\u00f3n', continue_with: 'Continuar con Google', signin_with: 'Iniciar sesi\\u00f3n con Google', signup_with: 'Iniciar sesi\\u00f3n con Google' },\n sv: { signin: 'Logga in', continue_with: 'Forts\\u00e4tt med Google', signin_with: 'Logga in med Google', signup_with: 'Registrera dig med Google' },\n lv: { signin: 'Pierakst\\u012b\\u0161an\\u0101s', continue_with: 'Turpin\\u0101t darbu ar Google', signin_with: 'Pierakstieties ar Google', signup_with: 'Re\\u0123istr\\u0113\\u0161an\\u0101s, izmantojot Google' },\n tr: { signin: 'Oturum a\\u00e7\\u0131n', continue_with: 'Google ile devam edin', signin_with: 'Google ile oturum a\\u00e7\\u0131n', signup_with: 'Google ile kaydolun' },\n it: { signin: 'Accedi', continue_with: 'Continua con Google', signin_with: 'Accedi con Google', signup_with: 'Registrati con Google' },\n sq: { signin: 'Identifikohu', continue_with: 'Vazhdo me Google', signin_with: 'Identifikohu me Google', signup_with: 'Regjistrohu me Google' },\n ro: { signin: 'Conecteaz\\u0103-te', continue_with: 'Continu\\u0103 cu Google', signin_with: 'Conecteaz\\u0103-te cu Google', signup_with: '\\u00censcrie-te cu Google' },\n de: { signin: 'Anmelden', continue_with: 'Weiter mit Google', signin_with: '\\u00dcber Google anmelden', signup_with: 'Mit Google anmelden' },\n ko: { signin: '\\ub85c\\uadf8\\uc778', continue_with: 'Google \\uacc4\\uc815\\uc73c\\ub85c \\uacc4\\uc18d\\ud558\\uae30', signin_with: 'Google \\uacc4\\uc815\\uc73c\\ub85c \\ub85c\\uadf8\\uc778', signup_with: 'Google \\uacc4\\uc815\\uc73c\\ub85c \\uac00\\uc785\\ud558\\uae30' },\n fr: { signin: 'Se connecter', continue_with: 'Continuer avec Google', signin_with: 'Se connecter avec Google', signup_with: \"S'inscrire avec Google\" },\n kmr: { signin: 'Oturum a\\u00e7\\u0131n', continue_with: 'Google ile devam edin', signin_with: 'Google ile oturum a\\u00e7\\u0131n', signup_with: 'Google ile kaydolun' },\n zh: { signin: '\\u767b\\u5f55', continue_with: '\\u901a\\u8fc7 Google \\u7ee7\\u7eed\\u64cd\\u4f5c', signin_with: \"\\u4f7f\\u7528 Google \\u5e10\\u53f7\\u767b\\u5f55\", signup_with: '\\u4f7f\\u7528 Google \\u5e10\\u53f7\\u6ce8\\u518c' },\n 'zh-CN': { signin: '\\u767b\\u5f55', continue_with: '\\u901a\\u8fc7 Google \\u7ee7\\u7eed\\u64cd\\u4f5c', signin_with: \"\\u4f7f\\u7528 Google \\u5e10\\u53f7\\u767b\\u5f55\", signup_with: '\\u4f7f\\u7528 Google \\u5e10\\u53f7\\u6ce8\\u518c' },\n 'zh-HK': { signin: '\\u767b\\u5165', continue_with: '\\u7e7c\\u7e8c\\u900f\\u904e Google \\u5e33\\u6236\\u64cd\\u4f5c', signin_with: '\\u4f7f\\u7528 Google \\u5e33\\u6236\\u767b\\u5165', signup_with: '\\u4f7f\\u7528 Google \\u5e33\\u6236\\u8a3b\\u518a' },\n pt: { signin: 'Fazer login', continue_with: 'Continuar com o Google', signin_with: 'Fazer login com o Google', signup_with: 'Inscrever-se no Google' },\n es: { signin: 'Iniciar sesi\\u00f3n', continue_with: 'Continuar con Google', signin_with: 'Iniciar sesi\\u00f3n con Google', signup_with: 'Registrarse con Google' },\n };\n const locale = gsiButtonConfiguration === null || gsiButtonConfiguration === void 0 ? void 0 : gsiButtonConfiguration.locale;\n let localeTexts = locale !== undefined && locale in localizedStrings ? (localizedStrings[locale]) : undefined;\n if (localeTexts === undefined) {\n const countryCode = (locale === null || locale === void 0 ? void 0 : locale.includes('-')) === true ? locale.split('-')[1] : (locale !== null && locale !== void 0 ? locale : '');\n localeTexts = countryCode in localizedStrings ? localizedStrings[countryCode] : localizedStrings['en'];\n }\n const text = (_a = gsiButtonConfiguration === null || gsiButtonConfiguration === void 0 ? void 0 : gsiButtonConfiguration.text) !== null && _a !== void 0 ? _a : 'signin_with';\n const buttonText = localeTexts[text];\n // HTML from https://github.com/inouiw/ReactSignInWithGoogleButton\n const button = document.createElement('button');\n button.setAttribute(\"style\", \"border-radius: 4px; background-color: rgb(255, 255, 255); border: 1px solid rgb(218, 220, 224); color: rgb(60, 64, 67); cursor: pointer; font-family: Roboto, Verdana; font-weight: 500; font-size: 14px; height: 40px; letter-spacing: 0.25px; padding: 0px 12px; position: relative; text-align: center; vertical-align: middle; width: auto;\");\n button.innerHTML = `\n <div style=\"display: flex; align-items: center; flex-flow: row nowrap; justify-content: space-between; height: 100%; position: relative; width: 100%;\">\n <div style=\"height: 18px; margin-right: 8px; min-width: 18px; width: 18px;\">\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18px\" height=\"18px\" viewBox=\"0 0 48 48\">\n <g>\n <path fill=\"#EA4335\" d=\"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z\"></path>\n <path fill=\"#4285F4\" d=\"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z\"></path>\n <path fill=\"#FBBC05\" d=\"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z\"></path>\n <path fill=\"#34A853\" d=\"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z\"></path>\n <path fill=\"none\" d=\"M0 0h48v48H0z\"></path>\n </g>\n </svg>\n </div>\n <p>${buttonText}</p>\n </div>`;\n return button;\n }\n}\nconst googleOneTapAuth = new GoogleOneTapAuth();\nexport { googleOneTapAuth as GoogleOneTapAuth };\n//# sourceMappingURL=GoogleOneTapAuth.js.map"],"names":["WebPlugin","registerPlugin","Capacitor","jwtDecode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["esm/helpers.js","esm/web.js","esm/GoogleOneTapAuth.js"],"sourcesContent":["export function assert(predicate, customMessage) {\n if (!predicate()) {\n const callerName = callingFunctionName();\n if (customMessage != undefined) {\n throw Error(customMessage + `. Error in ${callerName}.`);\n }\n throw Error(`Assert error, expected '${predicate}' to be true. Error in ${callerName}.`);\n }\n}\nexport function randomHexString(length) {\n let uint8RandomNumbers = new Uint8Array((length / 2) + 1);\n uint8RandomNumbers = crypto.getRandomValues(uint8RandomNumbers);\n const numbersAsHexString = Array.from(uint8RandomNumbers).map(x => x.toString(16)).join('');\n return numbersAsHexString.substring(0, length);\n}\nfunction callingFunctionName() {\n var _a;\n try {\n return (_a = (new Error()).stack) === null || _a === void 0 ? void 0 : _a.split(\"\\n\")[3].trim().split(\" \")[1];\n }\n catch (_b) {\n // ignore.\n }\n}\nexport function loadScript(url) {\n return new Promise((resolve, reject) => {\n var scriptEl = document.createElement('script');\n scriptEl.async = true;\n scriptEl.onerror = () => reject();\n scriptEl.onload = () => resolve();\n scriptEl.src = url;\n document.getElementsByTagName('head')[0].appendChild(scriptEl);\n });\n}\n//# sourceMappingURL=helpers.js.map","import { WebPlugin } from '@capacitor/core';\nimport { assert, loadScript } from './helpers';\nvar FedCMSignInResult;\n(function (FedCMSignInResult) {\n FedCMSignInResult[FedCMSignInResult[\"SUCCESS\"] = 0] = \"SUCCESS\";\n FedCMSignInResult[FedCMSignInResult[\"CANCELLED\"] = 1] = \"CANCELLED\";\n FedCMSignInResult[FedCMSignInResult[\"OTHER_ERROR\"] = 2] = \"OTHER_ERROR\";\n})(FedCMSignInResult || (FedCMSignInResult = {}));\n// See https://developers.google.com/identity/gsi/web/guides/use-one-tap-js-api\nexport class GoogleOneTapAuthWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.gsiScriptUrl = 'https://accounts.google.com/gsi/client';\n this.gapiLoadedPromise = undefined;\n this.initializeOptions = undefined;\n this.isGapiLoadRequested = false;\n this.fedCMAbortController = undefined;\n this.cancelCalledAbortReason = 'CANCEL_CALLED';\n }\n async initialize(options) {\n this.initializeOptions = options;\n if (!this.gapiLoadedPromise) {\n this.gapiLoadedPromise = loadScript(this.gsiScriptUrl);\n this.isGapiLoadRequested = true;\n }\n return this.gapiLoadedPromise;\n }\n async tryAutoOrOneTapSignIn() {\n let signInResult = await this.doSignIn(true);\n if (!signInResult.idToken\n // If the popup was cancelled, do not show it again.\n && signInResult.noSuccessReasonCode !== 'SIGN_IN_CANCELLED') {\n signInResult = await this.doSignIn(false);\n }\n if (signInResult.idToken) {\n return {\n isSuccess: true,\n success: signInResult\n };\n }\n else {\n return {\n isSuccess: false,\n noSuccess: signInResult\n };\n }\n }\n async tryOneTapSignIn() {\n let signInResult = await this.doSignIn(false);\n if (signInResult.idToken) {\n return {\n isSuccess: true,\n success: signInResult\n };\n }\n else {\n return {\n isSuccess: false,\n noSuccess: signInResult\n };\n }\n }\n async tryAutoSignIn() {\n let signInResult = await this.doSignIn(true);\n if (signInResult.idToken) {\n return {\n isSuccess: true,\n success: signInResult\n };\n }\n else {\n return {\n isSuccess: false,\n noSuccess: signInResult\n };\n }\n }\n async renderSignInButton(parentElementId, options, gsiButtonConfiguration) {\n const parentElem = document.getElementById(parentElementId);\n assert(() => !!parentElem);\n var signInPromise = new Promise((resolve) => {\n this.oneTapInitialize(false, resolve, options.webOptions);\n // // Adding a click_listener allows to detect when the popup is opened.\n // (gsiButtonConfiguration as any).click_listener = () => {\n // console.log('click_listener');\n // };\n google.accounts.id.renderButton(parentElem, gsiButtonConfiguration);\n });\n return signInPromise;\n }\n async fedCMSignIn(autoSelect, resolveSignInFunc) {\n var _a, _b;\n try {\n // console.log(`IdentityCredential supported: ${'IdentityCredential' in window}`);\n if ('IdentityCredential' in window === false) {\n return FedCMSignInResult.OTHER_ERROR;\n }\n this.fedCMAbortController = new AbortController();\n // see https://developers.google.com/privacy-sandbox/3pcd/fedcm\n // see https://developers.google.com/privacy-sandbox/blog/fedcm-auto-reauthn\n const identityCredential = await navigator.credentials.get({\n identity: {\n context: 'signin',\n providers: [\n {\n configURL: 'https://accounts.google.com/gsi/fedcm.json',\n clientId: this.initializeOptions.clientId,\n // loginHint: ''\n nonce: this.initializeOptions.nonce\n }\n ]\n },\n mediation: autoSelect ? 'optional' : 'required',\n signal: this.fedCMAbortController.signal\n });\n // console.log('fedCMSignIn result: ', identityCredential);\n if (!(identityCredential === null || identityCredential === void 0 ? void 0 : identityCredential.token)) {\n return FedCMSignInResult.OTHER_ERROR;\n }\n resolveSignInFunc({\n idToken: identityCredential.token,\n isAutoSelect: identityCredential.isAutoSelect\n });\n return FedCMSignInResult.SUCCESS;\n }\n catch (e) {\n // NotSupportedError DOMException\n // IdentityCredentialError DOMException\n // NetworkError DOMException --> name: 'NetworkError'\n // NotAllowedError DOMException\n const name = (_a = e.name) !== null && _a !== void 0 ? _a : '';\n const message = (_b = e.message) !== null && _b !== void 0 ? _b : '';\n // console.log('fedCMSignIn error: ', e, name);\n if (message.includes(this.cancelCalledAbortReason)\n || (name === 'NetworkError' && message.includes('Error retrieving a token.'))) {\n return FedCMSignInResult.CANCELLED;\n }\n return FedCMSignInResult.OTHER_ERROR;\n }\n finally {\n this.fedCMAbortController = undefined;\n }\n }\n fedCMSignOut() {\n navigator.credentials.preventSilentAccess();\n }\n fedCMAbort() {\n var _a;\n (_a = this.fedCMAbortController) === null || _a === void 0 ? void 0 : _a.abort({ message: this.cancelCalledAbortReason });\n }\n async doSignIn(autoSelect) {\n var signInPromise = new Promise(async (resolve, _reject) => {\n let fedCMResult = await this.fedCMSignIn(autoSelect, resolve);\n if (fedCMResult === FedCMSignInResult.CANCELLED) {\n resolve({ noSuccessReasonCode: 'SIGN_IN_CANCELLED' });\n }\n else if (fedCMResult === FedCMSignInResult.OTHER_ERROR) {\n this.oneTapInitialize(autoSelect, resolve); // The resolve function is passed, so it can be called in handleCredentialResponse.\n google.accounts.id.prompt();\n }\n });\n return signInPromise;\n }\n oneTapInitialize(autoSelect, resolveSignInFunc, buttonWebOptions) {\n var _a;\n google.accounts.id.initialize({\n client_id: this.initializeOptions.clientId,\n callback: (credentialResponse) => this.handleCredentialResponse(credentialResponse, resolveSignInFunc),\n auto_select: autoSelect,\n itp_support: (buttonWebOptions === null || buttonWebOptions === void 0 ? void 0 : buttonWebOptions.itpSupport) || false,\n cancel_on_tap_outside: ((_a = this.initializeOptions.webOptions) === null || _a === void 0 ? void 0 : _a.cancelOnTapOutside) || true,\n ux_mode: (buttonWebOptions === null || buttonWebOptions === void 0 ? void 0 : buttonWebOptions.uxMode) || 'popup',\n nonce: this.initializeOptions.nonce,\n use_fedcm_for_prompt: true,\n use_fedcm_for_button: true\n // log_level: 'debug'\n });\n }\n handleCredentialResponse(credentialResponse, resolveSignInFunc) {\n let signInResult = {\n idToken: credentialResponse.credential,\n isAutoSelect: credentialResponse.select_by === 'auto',\n };\n resolveSignInFunc(signInResult);\n }\n cancelOneTapDialog() {\n google.accounts.id.cancel();\n this.fedCMAbort();\n }\n signOut(authenticatedUserId) {\n if (this.isGapiLoadRequested === false) {\n this.fedCMSignOut();\n return Promise.resolve({ isSuccess: true });\n }\n return new Promise((resolve) => {\n if (authenticatedUserId) {\n // Calling revoke method revokes all OAuth2 scopes previously granted by the Sign In With Google client library.\n google.accounts.id.revoke(authenticatedUserId, response => {\n if (response.successful) {\n resolve({ isSuccess: true });\n }\n else {\n resolve({ isSuccess: false, error: response.error });\n }\n });\n }\n else {\n resolve({ isSuccess: true });\n }\n });\n }\n}\n//# sourceMappingURL=web.js.map","import { Capacitor, registerPlugin } from '@capacitor/core';\nimport { assert, randomHexString } from './helpers';\nimport { GoogleOneTapAuthWeb } from './web';\nimport { jwtDecode } from \"jwt-decode\";\nconst GoogleOneTapAuthPlatform = registerPlugin('GoogleOneTapAuth', {\n web: () => new GoogleOneTapAuthWeb(),\n});\nvar InitializeStatus;\n(function (InitializeStatus) {\n InitializeStatus[InitializeStatus[\"NotInitialized\"] = 0] = \"NotInitialized\";\n InitializeStatus[InitializeStatus[\"Initializing\"] = 1] = \"Initializing\";\n InitializeStatus[InitializeStatus[\"Initialized\"] = 2] = \"Initialized\";\n})(InitializeStatus || (InitializeStatus = {}));\n// This file is the entry point for all plugin methods. It contains common logic to web, android, iOS or delegates to the specific implementation.\nclass GoogleOneTapAuth {\n constructor() {\n this.initializeStatus = InitializeStatus.NotInitialized;\n this.authenticatedUserId = undefined;\n this.isInitializedPromise = new Promise((resolve) => {\n this.resolveIsInitializedPromise = resolve;\n });\n }\n /// Performs common or one-time initialization. Can be called multiple times.\n initialize(options) {\n if (this.initializeStatus === InitializeStatus.NotInitialized) {\n this.initializeStatus = InitializeStatus.Initializing;\n if (!options.clientId || options.clientId.endsWith(\"apps.googleusercontent.com\") == false) {\n throw new Error(\"clientId must end with 'apps.googleusercontent.com' but is: \" + options.clientId);\n }\n this.nonce = options.nonce = options.nonce || randomHexString(10);\n GoogleOneTapAuthPlatform.initialize(options).then(() => {\n this.initializeStatus = InitializeStatus.Initialized;\n this.resolveIsInitializedPromise();\n });\n }\n return this.isInitializedPromise;\n }\n async ensureInitialized() {\n assert(() => this.initializeStatus !== InitializeStatus.NotInitialized, 'Must call initialize first.');\n if (this.initializeStatus === InitializeStatus.Initializing) {\n await this.isInitializedPromise;\n }\n }\n async tryAutoOrOneTapSignIn() {\n await this.ensureInitialized();\n const notEnrichtedSignInResultOption = await GoogleOneTapAuthPlatform.tryAutoOrOneTapSignIn();\n const enrichtedSignInResultOption = this.enrichOptionResultWithDecodedIdToken(notEnrichtedSignInResultOption);\n this.onResultReceived(enrichtedSignInResultOption);\n return enrichtedSignInResultOption;\n }\n async tryOneTapSignIn() {\n await this.ensureInitialized();\n const notEnrichtedSignInResultOption = await GoogleOneTapAuthPlatform.tryOneTapSignIn();\n const enrichtedSignInResultOption = this.enrichOptionResultWithDecodedIdToken(notEnrichtedSignInResultOption);\n this.onResultReceived(enrichtedSignInResultOption);\n return enrichtedSignInResultOption;\n }\n async tryAutoSignIn() {\n await this.ensureInitialized();\n const notEnrichtedSignInResultOption = await GoogleOneTapAuthPlatform.tryAutoSignIn();\n const enrichtedSignInResultOption = this.enrichOptionResultWithDecodedIdToken(notEnrichtedSignInResultOption);\n this.onResultReceived(enrichtedSignInResultOption);\n return enrichtedSignInResultOption;\n }\n onResultReceived(signInResultOption) {\n if (signInResultOption.isSuccess) {\n this.authenticatedUserId = signInResultOption.success.userId;\n }\n }\n cancelOneTapDialog() {\n GoogleOneTapAuthPlatform.cancelOneTapDialog();\n }\n async signOut() {\n const result = await GoogleOneTapAuthPlatform.signOut(this.authenticatedUserId);\n this.authenticatedUserId = undefined;\n return result;\n }\n async addSignInActionToExistingButton(buttonParentId, buttonId) {\n await this.ensureInitialized();\n const buttonParentElem = document.getElementById(buttonParentId);\n const buttonElem = document.getElementById(buttonId);\n assert(() => !!buttonParentElem);\n assert(() => !!buttonElem);\n if (Capacitor.getPlatform() === 'web') {\n buttonParentElem.style.position = 'relative';\n buttonParentElem.style.overflow = 'hidden';\n // buttonParentElem!.style.border = '2px solid red'; // uncomment for debugging\n // The visible button width should be the same as the google button width.\n const buttonElemWidth = await this.waitForElementOffsetWidthNotZero(buttonElem);\n assert(() => buttonElemWidth !== 0);\n const invisibleGoogleButtonDiv = document.createElement('div');\n const invisibleGoogleButtonDivId = 'invisibleGoogleButtonDiv';\n invisibleGoogleButtonDiv.setAttribute('id', invisibleGoogleButtonDivId);\n invisibleGoogleButtonDiv.style.position = 'absolute';\n invisibleGoogleButtonDiv.style.top = '0px';\n invisibleGoogleButtonDiv.style.left = '0px';\n invisibleGoogleButtonDiv.style.width = `${buttonElemWidth}px`;\n invisibleGoogleButtonDiv.style.boxSizing = 'border-box';\n invisibleGoogleButtonDiv.style.opacity = '0.0001'; // change it for debugging\n buttonElem.appendChild(invisibleGoogleButtonDiv);\n return await this._doRenderSignInButton(invisibleGoogleButtonDivId, {}, { width: buttonElemWidth }, buttonElem);\n }\n else {\n return await this._doRenderSignInButton(buttonParentId, {}, {}, buttonElem);\n }\n }\n waitForElementOffsetWidthNotZero(element) {\n if (element.offsetWidth !== 0) {\n return Promise.resolve(element.offsetWidth);\n }\n return new Promise((resolve) => {\n const resizeObserver = new ResizeObserver(() => {\n if (element.offsetWidth !== 0) {\n resolve(element.offsetWidth);\n }\n });\n resizeObserver.observe(element);\n });\n }\n async renderSignInButton(parentElementId, options, gsiButtonConfiguration) {\n const androidAndIosButtonElem = this.getSignInButtonHtml(gsiButtonConfiguration);\n return this._doRenderSignInButton(parentElementId, options, gsiButtonConfiguration, androidAndIosButtonElem);\n }\n async _doRenderSignInButton(parentElementId, options, gsiButtonConfiguration, androidAndIosButtonElem) {\n await this.ensureInitialized();\n const parentElem = document.getElementById(parentElementId);\n assert(() => !!parentElem);\n options.webOptions = options.webOptions || {};\n return new Promise(async (resolve, reject) => {\n try {\n if (Capacitor.getPlatform() === 'web') {\n const notEnrichedSuccessSignInResult = await GoogleOneTapAuthPlatform.renderSignInButton(parentElementId, options, gsiButtonConfiguration);\n const enrichtedSuccessSignInResult = this.enrichSuccessResultWithDecodedIdToken(notEnrichedSuccessSignInResult);\n this.authenticatedUserId = enrichtedSuccessSignInResult.userId;\n resolve(enrichtedSuccessSignInResult);\n return;\n }\n const onClickAction = async () => {\n var _a;\n try {\n const notEnrichedSuccessSignInResult = await GoogleOneTapAuthPlatform.triggerGoogleSignIn(options);\n if (notEnrichedSuccessSignInResult.isSuccess) {\n const enrichtedSuccessSignInResult = this.enrichSuccessResultWithDecodedIdToken(notEnrichedSuccessSignInResult.success);\n this.authenticatedUserId = enrichtedSuccessSignInResult.userId;\n resolve(enrichtedSuccessSignInResult);\n }\n else {\n if (((_a = notEnrichedSuccessSignInResult.noSuccess) === null || _a === void 0 ? void 0 : _a.noSuccessReasonCode) === 'SIGN_IN_CANCELLED') {\n // console.log('User cancelled sign in. Waiting for next sign in attempt.');\n }\n }\n }\n catch (e) {\n reject(e);\n }\n };\n androidAndIosButtonElem.onclick = onClickAction;\n parentElem.appendChild(androidAndIosButtonElem);\n }\n catch (e) {\n reject(e);\n }\n });\n }\n getNonce() {\n assert(() => !!this.nonce, `The nonce is only set after ${() => this.initialize} was called.`);\n return this.nonce;\n }\n enrichOptionResultWithDecodedIdToken(signInResultOption) {\n if (signInResultOption.isSuccess === false) {\n return signInResultOption;\n }\n return Object.assign(Object.assign({}, signInResultOption), { success: this.enrichSuccessResultWithDecodedIdToken(signInResultOption.success) });\n }\n enrichSuccessResultWithDecodedIdToken(successSignInResult) {\n const decodedJwt = jwtDecode(successSignInResult.idToken);\n return Object.assign(Object.assign({}, successSignInResult), { decodedIdToken: decodedJwt, userId: decodedJwt.sub, email: decodedJwt.email });\n }\n getSignInButtonHtml(gsiButtonConfiguration) {\n var _a;\n // Note: Replacing double quotes with single quotes will break some strings.\n const localizedStrings = {\n en: { signin: 'Sign in', continue_with: 'Continue with Google', signin_with: 'Sign in with Google', signup_with: 'Sign up with Google' },\n ar: { signin: '\\u062a\\u0633\\u062c\\u064a\\u0644 \\u0627\\u0644\\u062f\\u062e\\u0648\\u0644', continue_with: '\\u0627\\u0644\\u0645\\u0648\\u0627\\u0635\\u0644\\u0629 \\u0628\\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 Google', signin_with: '\\u062a\\u0633\\u062c\\u064a\\u0644 \\u0627\\u0644\\u062f\\u062e\\u0648\\u0644 \\u0628\\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 Google', signup_with: '\\u0627\\u0644\\u0627\\u0634\\u062a\\u0631\\u0627\\u0643 \\u0645\\u0646 \\u062e\\u0644\\u0627\\u0644 Google' },\n sr: { signin: '\\u041f\\u0440\\u0438\\u0458\\u0430\\u0432\\u0438 \\u043c\\u0435', continue_with: '\\u041d\\u0430\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u0435 \\u0441\\u0430 Google-\\u043e\\u043c', signin_with: '\\u041f\\u0440\\u0438\\u0458\\u0430\\u0432\\u0438\\u0442\\u0435 \\u0441\\u0435 \\u043f\\u043e\\u043c\\u043e\\u045b\\u0443 Google-\\u0430', signup_with: '\\u0420\\u0435\\u0433\\u0438\\u0441\\u0442\\u0440\\u0443\\u0458\\u0442\\u0435 \\u0441\\u0435 \\u043f\\u043e\\u043c\\u043e\\u045b\\u0443 Google-\\u0430' },\n nb: { signin: 'Logg p\\u00e5', continue_with: 'Fortsett med Google', signin_with: 'Logg p\\u00e5 med Google', signup_with: 'Registrer deg med Google' },\n pl: { signin: 'Zaloguj si\\u0119', continue_with: 'Kontynuuj przy u\\u017cyciu konta Google', signin_with: 'Zaloguj si\\u0119 przez Google', signup_with: 'Zarejestruj si\\u0119 przez Google' },\n vi: { signin: '\\u0110\\u0103ng nh\\u1eadp', continue_with: 'Ti\\u1ebfp t\\u1ee5c truy c\\u1eadp Google', signin_with: '\\u0110\\u0103ng nh\\u00e2\\u0323p b\\u0103\\u0300ng Google', signup_with: '\\u0110\\u0103ng k\\u00fd b\\u1eb1ng Google' },\n cs: { signin: 'P\\u0159ihl\\u00e1sit se', continue_with: 'Pokra\\u010dovat pomoc\\u00ed Googlu', signin_with: \"P\\u0159ihl\\u00e1sit se p\\u0159es Google\", signup_with: 'Registrace pomoc\\u00ed Googlu' },\n id: { signin: 'Login', continue_with: 'Lanjutkan dengan Google', signin_with: 'Login dengan Google', signup_with: 'Daftar dengan Google' },\n nl: { signin: 'Inloggen', continue_with: 'Doorgaan met Google', signin_with: 'Inloggen met Google', signup_with: 'Aanmelden bij Google' },\n gl: { signin: 'Iniciar sesi\\u00f3n', continue_with: 'Continuar con Google', signin_with: 'Iniciar sesi\\u00f3n con Google', signup_with: 'Iniciar sesi\\u00f3n con Google' },\n sv: { signin: 'Logga in', continue_with: 'Forts\\u00e4tt med Google', signin_with: 'Logga in med Google', signup_with: 'Registrera dig med Google' },\n lv: { signin: 'Pierakst\\u012b\\u0161an\\u0101s', continue_with: 'Turpin\\u0101t darbu ar Google', signin_with: 'Pierakstieties ar Google', signup_with: 'Re\\u0123istr\\u0113\\u0161an\\u0101s, izmantojot Google' },\n tr: { signin: 'Oturum a\\u00e7\\u0131n', continue_with: 'Google ile devam edin', signin_with: 'Google ile oturum a\\u00e7\\u0131n', signup_with: 'Google ile kaydolun' },\n it: { signin: 'Accedi', continue_with: 'Continua con Google', signin_with: 'Accedi con Google', signup_with: 'Registrati con Google' },\n sq: { signin: 'Identifikohu', continue_with: 'Vazhdo me Google', signin_with: 'Identifikohu me Google', signup_with: 'Regjistrohu me Google' },\n ro: { signin: 'Conecteaz\\u0103-te', continue_with: 'Continu\\u0103 cu Google', signin_with: 'Conecteaz\\u0103-te cu Google', signup_with: '\\u00censcrie-te cu Google' },\n de: { signin: 'Anmelden', continue_with: 'Weiter mit Google', signin_with: '\\u00dcber Google anmelden', signup_with: 'Mit Google anmelden' },\n ko: { signin: '\\ub85c\\uadf8\\uc778', continue_with: 'Google \\uacc4\\uc815\\uc73c\\ub85c \\uacc4\\uc18d\\ud558\\uae30', signin_with: 'Google \\uacc4\\uc815\\uc73c\\ub85c \\ub85c\\uadf8\\uc778', signup_with: 'Google \\uacc4\\uc815\\uc73c\\ub85c \\uac00\\uc785\\ud558\\uae30' },\n fr: { signin: 'Se connecter', continue_with: 'Continuer avec Google', signin_with: 'Se connecter avec Google', signup_with: \"S'inscrire avec Google\" },\n kmr: { signin: 'Oturum a\\u00e7\\u0131n', continue_with: 'Google ile devam edin', signin_with: 'Google ile oturum a\\u00e7\\u0131n', signup_with: 'Google ile kaydolun' },\n zh: { signin: '\\u767b\\u5f55', continue_with: '\\u901a\\u8fc7 Google \\u7ee7\\u7eed\\u64cd\\u4f5c', signin_with: \"\\u4f7f\\u7528 Google \\u5e10\\u53f7\\u767b\\u5f55\", signup_with: '\\u4f7f\\u7528 Google \\u5e10\\u53f7\\u6ce8\\u518c' },\n 'zh-CN': { signin: '\\u767b\\u5f55', continue_with: '\\u901a\\u8fc7 Google \\u7ee7\\u7eed\\u64cd\\u4f5c', signin_with: \"\\u4f7f\\u7528 Google \\u5e10\\u53f7\\u767b\\u5f55\", signup_with: '\\u4f7f\\u7528 Google \\u5e10\\u53f7\\u6ce8\\u518c' },\n 'zh-HK': { signin: '\\u767b\\u5165', continue_with: '\\u7e7c\\u7e8c\\u900f\\u904e Google \\u5e33\\u6236\\u64cd\\u4f5c', signin_with: '\\u4f7f\\u7528 Google \\u5e33\\u6236\\u767b\\u5165', signup_with: '\\u4f7f\\u7528 Google \\u5e33\\u6236\\u8a3b\\u518a' },\n pt: { signin: 'Fazer login', continue_with: 'Continuar com o Google', signin_with: 'Fazer login com o Google', signup_with: 'Inscrever-se no Google' },\n es: { signin: 'Iniciar sesi\\u00f3n', continue_with: 'Continuar con Google', signin_with: 'Iniciar sesi\\u00f3n con Google', signup_with: 'Registrarse con Google' },\n };\n const locale = gsiButtonConfiguration === null || gsiButtonConfiguration === void 0 ? void 0 : gsiButtonConfiguration.locale;\n let localeTexts = locale !== undefined && locale in localizedStrings ? (localizedStrings[locale]) : undefined;\n if (localeTexts === undefined) {\n const countryCode = (locale === null || locale === void 0 ? void 0 : locale.includes('-')) === true ? locale.split('-')[1] : (locale !== null && locale !== void 0 ? locale : '');\n localeTexts = countryCode in localizedStrings ? localizedStrings[countryCode] : localizedStrings['en'];\n }\n const text = (_a = gsiButtonConfiguration === null || gsiButtonConfiguration === void 0 ? void 0 : gsiButtonConfiguration.text) !== null && _a !== void 0 ? _a : 'signin_with';\n const buttonText = localeTexts[text];\n // HTML from https://github.com/inouiw/ReactSignInWithGoogleButton\n const button = document.createElement('button');\n button.setAttribute(\"style\", \"border-radius: 4px; background-color: rgb(255, 255, 255); border: 1px solid rgb(218, 220, 224); color: rgb(60, 64, 67); cursor: pointer; font-family: Roboto, Verdana; font-weight: 500; font-size: 14px; height: 40px; letter-spacing: 0.25px; padding: 0px 12px; position: relative; text-align: center; vertical-align: middle; width: auto;\");\n button.innerHTML = `\n <div style=\"display: flex; align-items: center; flex-flow: row nowrap; justify-content: space-between; height: 100%; position: relative; width: 100%;\">\n <div style=\"height: 18px; margin-right: 8px; min-width: 18px; width: 18px;\">\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18px\" height=\"18px\" viewBox=\"0 0 48 48\">\n <g>\n <path fill=\"#EA4335\" d=\"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z\"></path>\n <path fill=\"#4285F4\" d=\"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z\"></path>\n <path fill=\"#FBBC05\" d=\"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z\"></path>\n <path fill=\"#34A853\" d=\"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z\"></path>\n <path fill=\"none\" d=\"M0 0h48v48H0z\"></path>\n </g>\n </svg>\n </div>\n <p>${buttonText}</p>\n </div>`;\n return button;\n }\n}\nconst googleOneTapAuth = new GoogleOneTapAuth();\nexport { googleOneTapAuth as GoogleOneTapAuth };\n//# sourceMappingURL=GoogleOneTapAuth.js.map"],"names":["WebPlugin","registerPlugin","Capacitor","jwtDecode"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "capacitor-native-google-one-tap-signin",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.3",
|
|
4
4
|
"description": "Google One Tap sign-in plugin for capacitor.",
|
|
5
5
|
"main": "dist/plugin.cjs.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"typescript": "^5.2.0"
|
|
75
75
|
},
|
|
76
76
|
"peerDependencies": {
|
|
77
|
-
"@capacitor/core": "^
|
|
77
|
+
"@capacitor/core": "^6.0.0"
|
|
78
78
|
},
|
|
79
79
|
"prettier": "@ionic/prettier-config",
|
|
80
80
|
"swiftlint": "@ionic/swiftlint-config",
|
|
@@ -92,4 +92,4 @@
|
|
|
92
92
|
"dependencies": {
|
|
93
93
|
"jwt-decode": "^4.0.0"
|
|
94
94
|
}
|
|
95
|
-
}
|
|
95
|
+
}
|