capacitor-native-google-one-tap-signin 5.1.2 → 5.1.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.
@@ -29,9 +29,6 @@ import com.google.android.gms.common.GoogleApiAvailability;
29
29
  import com.google.android.gms.common.api.ApiException;
30
30
  import com.google.android.gms.tasks.Task;
31
31
 
32
- import org.json.JSONException;
33
- import org.json.JSONObject;
34
-
35
32
  import java.util.concurrent.CompletableFuture;
36
33
  import java.util.concurrent.ExecutionException;
37
34
  import java.util.concurrent.Future;
@@ -39,13 +36,14 @@ import java.util.concurrent.Future;
39
36
  @CapacitorPlugin()
40
37
  public class GoogleOneTapAuth extends Plugin {
41
38
  private static final String TAG = "GoogleOneTapAuth Plugin";
39
+ private static final String ReasonCodeSignInCancelled = "SIGN_IN_CANCELLED";
42
40
  private String clientId;
43
41
  private String nonce;
44
42
  private SignInClient oneTapClient;
45
43
  private GoogleSignInClient googleSignInClient;
46
44
  private ActivityResultLauncher<IntentSenderRequest> googleOneTapSignInActivityResultHandlerIntentSenderRequest;
47
- private CompletableFuture<JSObject> oneTapSignInFuture;
48
- private CompletableFuture<JSObject> googleSignInFuture;
45
+ private CompletableFuture<SignInResult> oneTapSignInFuture;
46
+ private CompletableFuture<SignInResult> googleSignInFuture;
49
47
 
50
48
  @Override
51
49
  public void load() {
@@ -86,8 +84,9 @@ public class GoogleOneTapAuth extends Plugin {
86
84
  oneTapSignInFuture.complete(createErrorResponse(null, e.toString()));
87
85
  }
88
86
  } else {
87
+ var reasonCode = resultCode == Activity.RESULT_CANCELED ? ReasonCodeSignInCancelled : null;
89
88
  var resultCodeString = ActivityResult.resultCodeToString(resultCode);
90
- oneTapSignInFuture.complete(createErrorResponse(null, resultCodeString));
89
+ oneTapSignInFuture.complete(createErrorResponse(reasonCode, resultCodeString));
91
90
  }
92
91
  });
93
92
  }
@@ -96,13 +95,13 @@ public class GoogleOneTapAuth extends Plugin {
96
95
  public void tryAutoOrOneTapSignIn(PluginCall call) {
97
96
  try {
98
97
  var signInResult = beginSignIn(true).get();
99
- if (!signInResult.has("idToken")) {
98
+ if (signInResult.idToken == null && signInResult.noSuccessReasonCode != ReasonCodeSignInCancelled) {
100
99
  signInResult = beginSignIn(false).get();
101
100
  }
102
- if (!signInResult.has("idToken")) {
101
+ if (signInResult.idToken == null && signInResult.noSuccessReasonCode != ReasonCodeSignInCancelled) {
103
102
  signInResult = googleSilentSignIn(call).get();
104
103
  }
105
- call.resolve(wrapInSignInResultInOption(signInResult));
104
+ call.resolve(convertToJsonResult(signInResult));
106
105
  } catch (ExecutionException | InterruptedException e) {
107
106
  call.reject(e.toString());
108
107
  }
@@ -113,20 +112,32 @@ public class GoogleOneTapAuth extends Plugin {
113
112
  public void triggerGoogleSignIn(PluginCall call) {
114
113
  try {
115
114
  var signInResult = googleSignIn(call).get();
116
- call.resolve(signInResult);
115
+ call.resolve(convertToJsonResult(signInResult));
117
116
  } catch (ExecutionException | InterruptedException e) {
118
117
  call.reject(e.toString());
119
118
  }
120
119
  }
121
120
 
122
- private JSObject wrapInSignInResultInOption(JSObject successSignInResult) {
121
+ private JSObject convertToJsonResult(SignInResult signInResult) {
123
122
  var result = new JSObject();
124
- result.put("isSuccess", true);
125
- result.put("success", successSignInResult);
123
+ boolean isSuccess = signInResult.idToken != null;
124
+ result.put("isSuccess", isSuccess);
125
+
126
+ if (isSuccess) {
127
+ var successObj = new JSObject();
128
+ successObj.put("idToken", signInResult.idToken);
129
+ result.put("success", successObj);
130
+ }
131
+ else {
132
+ var errorObj = new JSObject();
133
+ errorObj.put("noSuccessReasonCode", signInResult.noSuccessReasonCode);
134
+ errorObj.put("noSuccessAdditionalInfo", signInResult.noSuccessAdditionalInfo);
135
+ result.put("error", errorObj);
136
+ }
126
137
  return result;
127
138
  }
128
139
 
129
- private Future<JSObject> beginSignIn(boolean filterByAuthorizedAccounts) {
140
+ private Future<SignInResult> beginSignIn(boolean filterByAuthorizedAccounts) {
130
141
  var context = this.getContext();
131
142
  var beginSignInRequest = createBeginSignInRequest(filterByAuthorizedAccounts);
132
143
  oneTapSignInFuture = new CompletableFuture<>();
@@ -177,17 +188,12 @@ public class GoogleOneTapAuth extends Plugin {
177
188
  .build();
178
189
  }
179
190
 
180
- private JSObject createErrorResponse(String reasonCode, String noSuccessAdditionalInfo) {
181
- var result = new JSObject();
182
- result.put("noSuccessReasonCode", reasonCode);
183
- result.put("noSuccessAdditionalInfo", noSuccessAdditionalInfo);
184
- return result;
191
+ private SignInResult createErrorResponse(String reasonCode, String noSuccessAdditionalInfo) {
192
+ return new SignInResult(reasonCode, noSuccessAdditionalInfo);
185
193
  }
186
194
 
187
- private JSObject createSuccessResponse(String idToken) {
188
- var result = new JSObject();
189
- result.put("idToken", idToken);
190
- return result;
195
+ private SignInResult createSuccessResponse(String idToken) {
196
+ return new SignInResult(idToken);
191
197
  }
192
198
 
193
199
  private boolean isGooglePlayServicesAvailable(Context context) {
@@ -216,14 +222,14 @@ public class GoogleOneTapAuth extends Plugin {
216
222
  return signOutResult;
217
223
  }
218
224
 
219
- private Future<JSObject> googleSilentSignIn(final PluginCall call) {
225
+ private Future<SignInResult> googleSilentSignIn(final PluginCall call) {
220
226
  googleSignInFuture = new CompletableFuture<>();
221
227
  googleSignInClient.silentSignIn()
222
228
  .addOnCompleteListener(task -> handleGoogleSignInResult(call, task, "silentSignIn"));
223
229
  return googleSignInFuture;
224
230
  }
225
231
 
226
- private Future<JSObject> googleSignIn(final PluginCall call) {
232
+ private Future<SignInResult> googleSignIn(final PluginCall call) {
227
233
  googleSignInFuture = new CompletableFuture<>();
228
234
  var intent = googleSignInClient.getSignInIntent();
229
235
  startActivityForResult(call, intent, "googleSignInResultIntentCallback");
@@ -248,7 +254,9 @@ public class GoogleOneTapAuth extends Plugin {
248
254
  googleSignInFuture.complete(createSuccessResponse(account.getIdToken()));
249
255
  } catch (ApiException e) {
250
256
  int statusCode = e.getStatusCode();
251
- var statusCodeString = GoogleSignInStatusCodes.getStatusCodeString(statusCode);
257
+ var statusCodeString = statusCode == GoogleSignInStatusCodes.SIGN_IN_CANCELLED
258
+ ? ReasonCodeSignInCancelled
259
+ : GoogleSignInStatusCodes.getStatusCodeString(statusCode);
252
260
  Log.i(TAG, triggerMethodName + " not successful, statusCodeString " + statusCodeString, e);
253
261
  if (statusCode == GoogleSignInStatusCodes.SIGN_IN_REQUIRED
254
262
  || statusCode == GoogleSignInStatusCodes.SIGN_IN_CANCELLED) {
@@ -0,0 +1,16 @@
1
+ package com.proventask.capacitor.GoogleOneTapAuth;
2
+
3
+ public class SignInResult {
4
+ public String idToken;
5
+ public String noSuccessReasonCode;
6
+ public String noSuccessAdditionalInfo;
7
+
8
+ public SignInResult(String noSuccessReasonCode, String noSuccessAdditionalInfo) {
9
+ this.noSuccessReasonCode = noSuccessReasonCode;
10
+ this.noSuccessAdditionalInfo = noSuccessAdditionalInfo;
11
+ }
12
+
13
+ public SignInResult(String idToken) {
14
+ this.idToken = idToken;
15
+ }
16
+ }
package/dist/docs.json CHANGED
@@ -225,7 +225,7 @@
225
225
  {
226
226
  "name": "noSuccessReasonCode",
227
227
  "tags": [],
228
- "docs": "A reason code as 'opt_out_or_no_session'.\nFor the js library see google.PromptMomentNotification for possible values.\nFor android 'SIGN_IN_CANCELLED' are currently set.",
228
+ "docs": "A reason code as 'opt_out_or_no_session'.\nFor the js library see google.PromptMomentNotification for possible values.\nFor android and iOS 'SIGN_IN_CANCELLED' are currently set.",
229
229
  "complexTypes": [],
230
230
  "type": "string | undefined"
231
231
  },
@@ -115,13 +115,19 @@ class GoogleOneTapAuth {
115
115
  return;
116
116
  }
117
117
  const onClickAction = async () => {
118
+ var _a;
118
119
  try {
119
- let notEnrichedSuccessSignInResult = await GoogleOneTapAuthPlatform.triggerGoogleSignIn(options);
120
- if (Boolean(notEnrichedSuccessSignInResult.idToken)) {
121
- const enrichtedSuccessSignInResult = this.enrichSuccessResultWithDecodedIdToken(notEnrichedSuccessSignInResult);
120
+ const notEnrichedSuccessSignInResult = await GoogleOneTapAuthPlatform.triggerGoogleSignIn(options);
121
+ if (notEnrichedSuccessSignInResult.isSuccess) {
122
+ const enrichtedSuccessSignInResult = this.enrichSuccessResultWithDecodedIdToken(notEnrichedSuccessSignInResult.success);
122
123
  this.authenticatedUserId = enrichtedSuccessSignInResult.userId;
123
124
  resolve(enrichtedSuccessSignInResult);
124
125
  }
126
+ else {
127
+ if (((_a = notEnrichedSuccessSignInResult.noSuccess) === null || _a === void 0 ? void 0 : _a.noSuccessReasonCode) === 'SIGN_IN_CANCELLED') {
128
+ // console.log('User cancelled sign in. Waiting for next sign in attempt.');
129
+ }
130
+ }
125
131
  }
126
132
  catch (e) {
127
133
  reject(e);
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleOneTapAuth.js","sourceRoot":"","sources":["../../src/GoogleOneTapAuth.ts"],"names":[],"mappings":"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","sourcesContent":["import { Capacitor, registerPlugin } from '@capacitor/core';\nimport type { InitializeOptions, GoogleOneTapAuthPlugin, SignInResultPromises, SuccessSignInResult, SignOutResult, RenderSignInButtonOptions, NoSuccessSignInResult, SignInResultOption } from './definitions';\nimport { assert, randomHexString } from './helpers';\nimport { GoogleOneTapAuthWeb } from './web';\nimport jwt_decode from 'jwt-decode';\nimport type { NotEnrichedSuccessSignInResult, NotEnrichtedSignInResultOption } from './definitionsInternal';\n\nconst GoogleOneTapAuthPlatform = registerPlugin<GoogleOneTapAuthWeb>('GoogleOneTapAuth', {\n web: () => new GoogleOneTapAuthWeb(),\n});\n\nenum InitializeStatus { NotInitialized, Initializing, Initialized }\n\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 implements GoogleOneTapAuthPlugin {\n private nonce?: string;\n private initializeStatus = InitializeStatus.NotInitialized;\n private isInitializedPromise: Promise<void>;\n private resolveIsInitializedPromise: (() => void) | undefined;\n private authenticatedUserId?: string = undefined;\n\n constructor() {\n this.isInitializedPromise = new Promise<void>((resolve) => {\n this.resolveIsInitializedPromise = resolve;\n });\n }\n\n /// Performs common or one-time initialization. Can be called multiple times.\n initialize(options: InitializeOptions): Promise<void> {\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\n private 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\n async tryAutoOrOneTapSignIn(): Promise<SignInResultPromises> {\n await this.ensureInitialized();\n const signInResultOptionPromise = GoogleOneTapAuthPlatform.tryAutoOrOneTapSignIn();\n const notEnrichtedSignInResultOption = (await signInResultOptionPromise) as NotEnrichtedSignInResultOption;\n const enrichtedSignInResultOption = this.enrichOptionResultWithDecodedIdToken(notEnrichtedSignInResultOption);\n\n if (enrichtedSignInResultOption.isSuccess) {\n this.authenticatedUserId = enrichtedSignInResultOption.success!.userId;\n return {\n successPromise: Promise.resolve(enrichtedSignInResultOption.success!),\n noSuccess: new Promise<NoSuccessSignInResult>(() => { }),\n signInResultOptionPromise: Promise.resolve(enrichtedSignInResultOption)\n };\n } else {\n return {\n successPromise: new Promise<SuccessSignInResult>(() => { }),\n noSuccess: Promise.resolve(enrichtedSignInResultOption.noSuccess!),\n signInResultOptionPromise: Promise.resolve(enrichtedSignInResultOption)\n };\n }\n }\n\n async signOut(): Promise<SignOutResult> {\n const result = await (GoogleOneTapAuthPlatform as any).signOut(this.authenticatedUserId);\n this.authenticatedUserId = undefined;\n return result;\n }\n\n async addSignInActionToExistingButton(buttonParentId: string, buttonId: string): Promise<SuccessSignInResult> {\n await this.ensureInitialized();\n const buttonParentElem = document.getElementById(buttonParentId);\n const buttonElem = document.getElementById(buttonId);\n assert(() => !!buttonParentElem);\n assert(() => !!buttonElem);\n\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\n // The visible button width should be the same as the google button width.\n const buttonElemWidth = buttonElem!.offsetWidth;\n assert(() => buttonElemWidth !== 0);\n\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\n return await this._doRenderSignInButton(invisibleGoogleButtonDivId, {}, { width: buttonElemWidth }, buttonElem!);\n } else {\n return await this._doRenderSignInButton(buttonParentId, {}, {}, buttonElem!);\n }\n }\n\n async renderSignInButton(parentElementId: string, options: RenderSignInButtonOptions, gsiButtonConfiguration?: google.GsiButtonConfiguration): Promise<SuccessSignInResult> {\n const androidAndIosButtonElem = this.getSignInButtonHtml(gsiButtonConfiguration)\n return this._doRenderSignInButton(parentElementId, options, gsiButtonConfiguration, androidAndIosButtonElem);\n }\n\n async _doRenderSignInButton(parentElementId: string, options: RenderSignInButtonOptions, gsiButtonConfiguration: google.GsiButtonConfiguration | undefined, androidAndIosButtonElem: HTMLElement): Promise<SuccessSignInResult> {\n await this.ensureInitialized();\n const parentElem = document.getElementById(parentElementId);\n assert(() => !!parentElem);\n options.webOptions = options.webOptions || {};\n\n return new Promise<SuccessSignInResult>(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\n const onClickAction = async () => {\n try {\n let notEnrichedSuccessSignInResult = await (GoogleOneTapAuthPlatform as any).triggerGoogleSignIn(options);\n if (Boolean(notEnrichedSuccessSignInResult.idToken)) {\n const enrichtedSuccessSignInResult = this.enrichSuccessResultWithDecodedIdToken(notEnrichedSuccessSignInResult);\n this.authenticatedUserId = enrichtedSuccessSignInResult.userId;\n resolve(enrichtedSuccessSignInResult);\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\n getNonce() {\n assert(() => !!this.nonce, `The nonce is only set after ${() => this.initialize} was called.`);\n return this.nonce!;\n }\n\n private enrichOptionResultWithDecodedIdToken(signInResultOption: NotEnrichtedSignInResultOption): SignInResultOption {\n if (signInResultOption.isSuccess === false) {\n return signInResultOption as SignInResultOption;\n }\n return {\n ...signInResultOption,\n success: this.enrichSuccessResultWithDecodedIdToken(signInResultOption.success!),\n } as SignInResultOption;\n }\n\n private enrichSuccessResultWithDecodedIdToken(successSignInResult: NotEnrichedSuccessSignInResult): SuccessSignInResult {\n const decodedJwt = jwt_decode(successSignInResult.idToken) as any;\n return {\n ...successSignInResult,\n decodedIdToken: decodedJwt,\n userId: decodedJwt.sub,\n email: decodedJwt.email,\n } as SuccessSignInResult;\n }\n\n private getSignInButtonHtml(gsiButtonConfiguration?: google.GsiButtonConfiguration) {\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 } as any;\n const locale = gsiButtonConfiguration?.locale;\n let localeTexts = locale !== undefined && locale in localizedStrings ? (localizedStrings[locale]) : undefined;\n\n if (localeTexts === undefined) {\n const countryCode = locale?.includes('-') === true ? locale.split('-')[1] : (locale ?? '');\n localeTexts = countryCode in localizedStrings ? (localizedStrings[countryCode] as string) : localizedStrings['en'];\n }\n const text = gsiButtonConfiguration?.text ?? 'signin_with';\n const buttonText = localeTexts[text];\n\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}\n\nconst googleOneTapAuth = new GoogleOneTapAuth();\nexport { googleOneTapAuth as GoogleOneTapAuth }"]}
1
+ {"version":3,"file":"GoogleOneTapAuth.js","sourceRoot":"","sources":["../../src/GoogleOneTapAuth.ts"],"names":[],"mappings":"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","sourcesContent":["import { Capacitor, registerPlugin } from '@capacitor/core';\nimport type { InitializeOptions, GoogleOneTapAuthPlugin, SignInResultPromises, SuccessSignInResult, SignOutResult, RenderSignInButtonOptions, NoSuccessSignInResult, SignInResultOption } from './definitions';\nimport { assert, randomHexString } from './helpers';\nimport { GoogleOneTapAuthWeb } from './web';\nimport jwt_decode from 'jwt-decode';\nimport type { NotEnrichedSuccessSignInResult, NotEnrichtedSignInResultOption } from './definitionsInternal';\n\nconst GoogleOneTapAuthPlatform = registerPlugin<GoogleOneTapAuthWeb>('GoogleOneTapAuth', {\n web: () => new GoogleOneTapAuthWeb(),\n});\n\nenum InitializeStatus { NotInitialized, Initializing, Initialized }\n\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 implements GoogleOneTapAuthPlugin {\n private nonce?: string;\n private initializeStatus = InitializeStatus.NotInitialized;\n private isInitializedPromise: Promise<void>;\n private resolveIsInitializedPromise: (() => void) | undefined;\n private authenticatedUserId?: string = undefined;\n\n constructor() {\n this.isInitializedPromise = new Promise<void>((resolve) => {\n this.resolveIsInitializedPromise = resolve;\n });\n }\n\n /// Performs common or one-time initialization. Can be called multiple times.\n initialize(options: InitializeOptions): Promise<void> {\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\n private 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\n async tryAutoOrOneTapSignIn(): Promise<SignInResultPromises> {\n await this.ensureInitialized();\n const signInResultOptionPromise = GoogleOneTapAuthPlatform.tryAutoOrOneTapSignIn();\n const notEnrichtedSignInResultOption = (await signInResultOptionPromise) as NotEnrichtedSignInResultOption;\n const enrichtedSignInResultOption = this.enrichOptionResultWithDecodedIdToken(notEnrichtedSignInResultOption);\n\n if (enrichtedSignInResultOption.isSuccess) {\n this.authenticatedUserId = enrichtedSignInResultOption.success!.userId;\n return {\n successPromise: Promise.resolve(enrichtedSignInResultOption.success!),\n noSuccess: new Promise<NoSuccessSignInResult>(() => { }),\n signInResultOptionPromise: Promise.resolve(enrichtedSignInResultOption)\n };\n } else {\n return {\n successPromise: new Promise<SuccessSignInResult>(() => { }),\n noSuccess: Promise.resolve(enrichtedSignInResultOption.noSuccess!),\n signInResultOptionPromise: Promise.resolve(enrichtedSignInResultOption)\n };\n }\n }\n\n async signOut(): Promise<SignOutResult> {\n const result = await (GoogleOneTapAuthPlatform as any).signOut(this.authenticatedUserId);\n this.authenticatedUserId = undefined;\n return result;\n }\n\n async addSignInActionToExistingButton(buttonParentId: string, buttonId: string): Promise<SuccessSignInResult> {\n await this.ensureInitialized();\n const buttonParentElem = document.getElementById(buttonParentId);\n const buttonElem = document.getElementById(buttonId);\n assert(() => !!buttonParentElem);\n assert(() => !!buttonElem);\n\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\n // The visible button width should be the same as the google button width.\n const buttonElemWidth = buttonElem!.offsetWidth;\n assert(() => buttonElemWidth !== 0);\n\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\n return await this._doRenderSignInButton(invisibleGoogleButtonDivId, {}, { width: buttonElemWidth }, buttonElem!);\n } else {\n return await this._doRenderSignInButton(buttonParentId, {}, {}, buttonElem!);\n }\n }\n\n async renderSignInButton(parentElementId: string, options: RenderSignInButtonOptions, gsiButtonConfiguration?: google.GsiButtonConfiguration): Promise<SuccessSignInResult> {\n const androidAndIosButtonElem = this.getSignInButtonHtml(gsiButtonConfiguration)\n return this._doRenderSignInButton(parentElementId, options, gsiButtonConfiguration, androidAndIosButtonElem);\n }\n\n async _doRenderSignInButton(parentElementId: string, options: RenderSignInButtonOptions, gsiButtonConfiguration: google.GsiButtonConfiguration | undefined, androidAndIosButtonElem: HTMLElement): Promise<SuccessSignInResult> {\n await this.ensureInitialized();\n const parentElem = document.getElementById(parentElementId);\n assert(() => !!parentElem);\n options.webOptions = options.webOptions || {};\n\n return new Promise<SuccessSignInResult>(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\n const onClickAction = async () => {\n try {\n const notEnrichedSuccessSignInResult: SignInResultOption = await (GoogleOneTapAuthPlatform as any).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 (notEnrichedSuccessSignInResult.noSuccess?.noSuccessReasonCode === 'SIGN_IN_CANCELLED') {\n // console.log('User cancelled sign in. Waiting for next sign in attempt.');\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\n getNonce() {\n assert(() => !!this.nonce, `The nonce is only set after ${() => this.initialize} was called.`);\n return this.nonce!;\n }\n\n private enrichOptionResultWithDecodedIdToken(signInResultOption: NotEnrichtedSignInResultOption): SignInResultOption {\n if (signInResultOption.isSuccess === false) {\n return signInResultOption as SignInResultOption;\n }\n return {\n ...signInResultOption,\n success: this.enrichSuccessResultWithDecodedIdToken(signInResultOption.success!),\n } as SignInResultOption;\n }\n\n private enrichSuccessResultWithDecodedIdToken(successSignInResult: NotEnrichedSuccessSignInResult): SuccessSignInResult {\n const decodedJwt = jwt_decode(successSignInResult.idToken) as any;\n return {\n ...successSignInResult,\n decodedIdToken: decodedJwt,\n userId: decodedJwt.sub,\n email: decodedJwt.email,\n } as SuccessSignInResult;\n }\n\n private getSignInButtonHtml(gsiButtonConfiguration?: google.GsiButtonConfiguration) {\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 } as any;\n const locale = gsiButtonConfiguration?.locale;\n let localeTexts = locale !== undefined && locale in localizedStrings ? (localizedStrings[locale]) : undefined;\n\n if (localeTexts === undefined) {\n const countryCode = locale?.includes('-') === true ? locale.split('-')[1] : (locale ?? '');\n localeTexts = countryCode in localizedStrings ? (localizedStrings[countryCode] as string) : localizedStrings['en'];\n }\n const text = gsiButtonConfiguration?.text ?? 'signin_with';\n const buttonText = localeTexts[text];\n\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}\n\nconst googleOneTapAuth = new GoogleOneTapAuth();\nexport { googleOneTapAuth as GoogleOneTapAuth }"]}
@@ -59,7 +59,7 @@ export interface NoSuccessSignInResult {
59
59
  /**
60
60
  * A reason code as 'opt_out_or_no_session'.
61
61
  * For the js library see google.PromptMomentNotification for possible values.
62
- * For android 'SIGN_IN_CANCELLED' are currently set.
62
+ * For android and iOS 'SIGN_IN_CANCELLED' are currently set.
63
63
  */
64
64
  noSuccessReasonCode?: string;
65
65
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"AAAA,wCAAwC","sourcesContent":["/// <reference types=\"@capacitor/cli\" />\n\nexport interface InitializeOptions {\n /**\n * Your client ID of type Web application.\n */\n clientId: string;\n /**\n * A string that is included in the ID token if supported. It is auto-generated if not provided.\n * The com.google.android.gms.auth.api.identity api supports nonce, however the \n * com.google.android.gms.auth.api.signin does currently not, and for ios there is an open issue.\n * See https://github.com/google/GoogleSignIn-iOS/issues/135\n */\n nonce?: string;\n}\n\nexport interface SignInResultPromises {\n successPromise: Promise<SuccessSignInResult>;\n noSuccess: Promise<NoSuccessSignInResult>;\n signInResultOptionPromise: Promise<SignInResultOption>;\n}\n\nexport interface SignInResultOption {\n /**\n * Indicates if the success or noSuccess property is set.\n */\n isSuccess: boolean;\n /**\n * Success result.\n */\n success?: SuccessSignInResult;\n /**\n * NoSuccess result.\n */\n noSuccess?: NoSuccessSignInResult;\n}\n\nexport interface SuccessSignInResult {\n /**\n * How the credential was retrieved.\n * Currently not available for android, only if the js library is used.\n * For possible values see google.PromptMomentNotification.\n */\n selectBy?: \n | 'auto'\n | 'user'\n | 'user_1tap'\n | 'user_2tap'\n | 'btn'\n | 'btn_confirm'\n | 'btn_add_session'\n | 'btn_confirm_add_session' // see google.CredentialResponse.select_by\n /**\n * The JWT token base64 encoded.\n */\n idToken: string;\n /**\n * A permanent id for the user.\n */\n userId: string;\n /**\n * The email address.\n */\n email: string;\n /**\n * The decoded JWT token.\n * The signature is not verified when decoding the token.\n */\n decodedIdToken: any;\n}\n\nexport interface NoSuccessSignInResult {\n /**\n * A reason code as 'opt_out_or_no_session'.\n * For the js library see google.PromptMomentNotification for possible values.\n * For android 'SIGN_IN_CANCELLED' are currently set.\n */\n noSuccessReasonCode?: string;\n /**\n * A error message.\n * Set in case of error if the native android code is used.\n */\n noSuccessAdditionalInfo?: string;\n}\n\nexport interface RenderSignInButtonOptions {\n /**\n * \tWeb platform specific options..\n */\n webOptions?: RenderSignInButtonWebOptions;\n}\n\nexport interface RenderSignInButtonWebOptions {\n /**\n * \tEnables upgraded One Tap UX on ITP browsers. The default value is false.\n */\n itpSupport?: boolean;\n /**\n * \tThe Sign In With Google button UX flow. The default value is 'popup'.\n */\n uxMode?: 'popup' | 'redirect';\n}\n\nexport interface SignOutResult {\n isSuccess: boolean;\n error?: string;\n}\n\nexport interface GoogleOneTapAuthPlugin {\n /**\n * Performs common or one-time initializations.\n * For the web platform, starts pre-loading the google one tap JavaScript library.\n * initialize must be called before any other method.\n * initialize remembers if it was called so it is safe to be called multiple times.\n * Other methods wait till initialize is finished so you must not await initialize.\n * @param options \n */\n initialize(options: InitializeOptions): Promise<void>;\n /**\n * Tries to either auto-sign-in the user or sign-in the user with just one tap/click.\n * If there is a single google account and that account has previously signed into the app, \n * then that user is auto signed in. A short popover is displayed during sign-in.\n * If there are multiple google accounts and more than one have previously signed into the \n * app then a user selection screen is shown.\n * If there is no active google session or if no user session has logged in previously in \n * the app or if the user has opt out of One Tap, then the response will indicate that \n * the auto sign-in did not succeed.\n * See https://developers.google.com/identity/gsi/web/guides/features\n * @returns A Promise object that contains 3 properties with promises. One resolves only \n * when authentication succeeds, the second on error and the third on success or error.\n */\n tryAutoOrOneTapSignIn()\n : Promise<{\n successPromise: Promise<SuccessSignInResult>;\n noSuccess: Promise<NoSuccessSignInResult>;\n signInResultOptionPromise: Promise<SignInResultOption>;\n }>;\n /**\n * Allows using a custom sign-in button.\n * The element to which buttonParentId refers must have the style position: 'relative'.\n * For the web platform, the implementation renders the google button invisible in front of the passed button.\n * The returned promise will only resolve if successful.\n * The returned promise is rejected for unrecoverable errors as 'unregistered_origin' \n * for the web platform.\n * @param buttonParentId \n * @param buttonId\n */\n addSignInActionToExistingButton(\n buttonParentId: string,\n buttonId: string)\n : Promise<SuccessSignInResult>;\n /**\n * Renders the sign-in button.\n * The returned promise will only resolve if successful.\n * The returned promise is rejected for unrecoverable errors as 'unregistered_origin' \n * for the web platform.\n * @param parentElementId \n * @param options \n * @param gsiButtonConfiguration Not all button configuration options are supported on android.\n */\n renderSignInButton(\n parentElementId: string,\n options: RenderSignInButtonOptions,\n gsiButtonConfiguration?: google.GsiButtonConfiguration)\n : Promise<SuccessSignInResult>;\n /**\n * Ends the session.\n */\n signOut(): Promise<SignOutResult>;\n /**\n * Gets the last user defined or auto-created nonce.\n * Unfortunately not all google libraries support setting a nonce, so this is currently \n * not universally useful.\n */\n getNonce(): string;\n}\n"]}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"AAAA,wCAAwC","sourcesContent":["/// <reference types=\"@capacitor/cli\" />\n\nexport interface InitializeOptions {\n /**\n * Your client ID of type Web application.\n */\n clientId: string;\n /**\n * A string that is included in the ID token if supported. It is auto-generated if not provided.\n * The com.google.android.gms.auth.api.identity api supports nonce, however the \n * com.google.android.gms.auth.api.signin does currently not, and for ios there is an open issue.\n * See https://github.com/google/GoogleSignIn-iOS/issues/135\n */\n nonce?: string;\n}\n\nexport interface SignInResultPromises {\n successPromise: Promise<SuccessSignInResult>;\n noSuccess: Promise<NoSuccessSignInResult>;\n signInResultOptionPromise: Promise<SignInResultOption>;\n}\n\nexport interface SignInResultOption {\n /**\n * Indicates if the success or noSuccess property is set.\n */\n isSuccess: boolean;\n /**\n * Success result.\n */\n success?: SuccessSignInResult;\n /**\n * NoSuccess result.\n */\n noSuccess?: NoSuccessSignInResult;\n}\n\nexport interface SuccessSignInResult {\n /**\n * How the credential was retrieved.\n * Currently not available for android, only if the js library is used.\n * For possible values see google.PromptMomentNotification.\n */\n selectBy?: \n | 'auto'\n | 'user'\n | 'user_1tap'\n | 'user_2tap'\n | 'btn'\n | 'btn_confirm'\n | 'btn_add_session'\n | 'btn_confirm_add_session' // see google.CredentialResponse.select_by\n /**\n * The JWT token base64 encoded.\n */\n idToken: string;\n /**\n * A permanent id for the user.\n */\n userId: string;\n /**\n * The email address.\n */\n email: string;\n /**\n * The decoded JWT token.\n * The signature is not verified when decoding the token.\n */\n decodedIdToken: any;\n}\n\nexport interface NoSuccessSignInResult {\n /**\n * A reason code as 'opt_out_or_no_session'.\n * For the js library see google.PromptMomentNotification for possible values.\n * For android and iOS 'SIGN_IN_CANCELLED' are currently set.\n */\n noSuccessReasonCode?: string;\n /**\n * A error message.\n * Set in case of error if the native android code is used.\n */\n noSuccessAdditionalInfo?: string;\n}\n\nexport interface RenderSignInButtonOptions {\n /**\n * \tWeb platform specific options..\n */\n webOptions?: RenderSignInButtonWebOptions;\n}\n\nexport interface RenderSignInButtonWebOptions {\n /**\n * \tEnables upgraded One Tap UX on ITP browsers. The default value is false.\n */\n itpSupport?: boolean;\n /**\n * \tThe Sign In With Google button UX flow. The default value is 'popup'.\n */\n uxMode?: 'popup' | 'redirect';\n}\n\nexport interface SignOutResult {\n isSuccess: boolean;\n error?: string;\n}\n\nexport interface GoogleOneTapAuthPlugin {\n /**\n * Performs common or one-time initializations.\n * For the web platform, starts pre-loading the google one tap JavaScript library.\n * initialize must be called before any other method.\n * initialize remembers if it was called so it is safe to be called multiple times.\n * Other methods wait till initialize is finished so you must not await initialize.\n * @param options \n */\n initialize(options: InitializeOptions): Promise<void>;\n /**\n * Tries to either auto-sign-in the user or sign-in the user with just one tap/click.\n * If there is a single google account and that account has previously signed into the app, \n * then that user is auto signed in. A short popover is displayed during sign-in.\n * If there are multiple google accounts and more than one have previously signed into the \n * app then a user selection screen is shown.\n * If there is no active google session or if no user session has logged in previously in \n * the app or if the user has opt out of One Tap, then the response will indicate that \n * the auto sign-in did not succeed.\n * See https://developers.google.com/identity/gsi/web/guides/features\n * @returns A Promise object that contains 3 properties with promises. One resolves only \n * when authentication succeeds, the second on error and the third on success or error.\n */\n tryAutoOrOneTapSignIn()\n : Promise<{\n successPromise: Promise<SuccessSignInResult>;\n noSuccess: Promise<NoSuccessSignInResult>;\n signInResultOptionPromise: Promise<SignInResultOption>;\n }>;\n /**\n * Allows using a custom sign-in button.\n * The element to which buttonParentId refers must have the style position: 'relative'.\n * For the web platform, the implementation renders the google button invisible in front of the passed button.\n * The returned promise will only resolve if successful.\n * The returned promise is rejected for unrecoverable errors as 'unregistered_origin' \n * for the web platform.\n * @param buttonParentId \n * @param buttonId\n */\n addSignInActionToExistingButton(\n buttonParentId: string,\n buttonId: string)\n : Promise<SuccessSignInResult>;\n /**\n * Renders the sign-in button.\n * The returned promise will only resolve if successful.\n * The returned promise is rejected for unrecoverable errors as 'unregistered_origin' \n * for the web platform.\n * @param parentElementId \n * @param options \n * @param gsiButtonConfiguration Not all button configuration options are supported on android.\n */\n renderSignInButton(\n parentElementId: string,\n options: RenderSignInButtonOptions,\n gsiButtonConfiguration?: google.GsiButtonConfiguration)\n : Promise<SuccessSignInResult>;\n /**\n * Ends the session.\n */\n signOut(): Promise<SignOutResult>;\n /**\n * Gets the last user defined or auto-created nonce.\n * Unfortunately not all google libraries support setting a nonce, so this is currently \n * not universally useful.\n */\n getNonce(): string;\n}\n"]}
@@ -277,13 +277,19 @@ class GoogleOneTapAuth {
277
277
  return;
278
278
  }
279
279
  const onClickAction = async () => {
280
+ var _a;
280
281
  try {
281
- let notEnrichedSuccessSignInResult = await GoogleOneTapAuthPlatform.triggerGoogleSignIn(options);
282
- if (Boolean(notEnrichedSuccessSignInResult.idToken)) {
283
- const enrichtedSuccessSignInResult = this.enrichSuccessResultWithDecodedIdToken(notEnrichedSuccessSignInResult);
282
+ const notEnrichedSuccessSignInResult = await GoogleOneTapAuthPlatform.triggerGoogleSignIn(options);
283
+ if (notEnrichedSuccessSignInResult.isSuccess) {
284
+ const enrichtedSuccessSignInResult = this.enrichSuccessResultWithDecodedIdToken(notEnrichedSuccessSignInResult.success);
284
285
  this.authenticatedUserId = enrichtedSuccessSignInResult.userId;
285
286
  resolve(enrichtedSuccessSignInResult);
286
287
  }
288
+ else {
289
+ if (((_a = notEnrichedSuccessSignInResult.noSuccess) === null || _a === void 0 ? void 0 : _a.noSuccessReasonCode) === 'SIGN_IN_CANCELLED') {
290
+ // console.log('User cancelled sign in. Waiting for next sign in attempt.');
291
+ }
292
+ }
287
293
  }
288
294
  catch (e) {
289
295
  reject(e);
@@ -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';\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.clientId = undefined;\n this.nonce = undefined;\n }\n async initialize(options) {\n this.clientId = options.clientId;\n this.nonce = options.nonce;\n if (!this.gapiLoadedPromise) {\n this.gapiLoadedPromise = loadScript(this.gsiScriptUrl);\n }\n return this.gapiLoadedPromise;\n }\n async tryAutoOrOneTapSignIn() {\n let signInResult = await this.doSignIn(true);\n if (!signInResult.idToken) {\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 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 doSignIn(autoSelect) {\n var signInPromise = new Promise((resolve, reject) => {\n this.oneTapInitialize(autoSelect, resolve);\n google.accounts.id.prompt((notification) => {\n const developerErrors = ['missing_client_id', 'unregistered_origin'];\n const momentReason = this.getMomentReason(notification);\n if (momentReason !== undefined && developerErrors.includes(momentReason)) {\n reject({ errorCode: momentReason });\n }\n else if (momentReason === 'credential_returned') {\n // Do nothing, handled in handleCredentialResponse.\n }\n else if (notification.isNotDisplayed()\n || notification.isSkippedMoment()\n || notification.isDismissedMoment()) {\n resolve({\n noSuccessReasonCode: momentReason\n });\n }\n });\n });\n return signInPromise;\n }\n getMomentReason(notification) {\n if (notification.isNotDisplayed()) {\n return notification.getNotDisplayedReason();\n }\n if (notification.isSkippedMoment()) {\n return notification.getSkippedReason();\n }\n if (notification.isDismissedMoment()) {\n return notification.getDismissedReason();\n }\n return undefined;\n }\n oneTapInitialize(autoSelect, resolveSignInFunc, webOptions) {\n google.accounts.id.initialize({\n client_id: this.clientId,\n callback: (credentialResponse) => this.handleCredentialResponse(credentialResponse, resolveSignInFunc),\n auto_select: autoSelect,\n itp_support: (webOptions === null || webOptions === void 0 ? void 0 : webOptions.itpSupport) || false,\n cancel_on_tap_outside: true,\n ux_mode: (webOptions === null || webOptions === void 0 ? void 0 : webOptions.uxMode) || 'popup',\n nonce: this.nonce,\n });\n }\n handleCredentialResponse(credentialResponse, resolveSignInFunc) {\n let signInResult = {\n idToken: credentialResponse.credential,\n selectBy: credentialResponse.select_by,\n };\n resolveSignInFunc(signInResult);\n }\n signOut(authenticatedUserId) {\n return new Promise((resolve) => {\n google.accounts.id.cancel();\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 jwt_decode 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 signInResultOptionPromise = GoogleOneTapAuthPlatform.tryAutoOrOneTapSignIn();\n const notEnrichtedSignInResultOption = (await signInResultOptionPromise);\n const enrichtedSignInResultOption = this.enrichOptionResultWithDecodedIdToken(notEnrichtedSignInResultOption);\n if (enrichtedSignInResultOption.isSuccess) {\n this.authenticatedUserId = enrichtedSignInResultOption.success.userId;\n return {\n successPromise: Promise.resolve(enrichtedSignInResultOption.success),\n noSuccess: new Promise(() => { }),\n signInResultOptionPromise: Promise.resolve(enrichtedSignInResultOption)\n };\n }\n else {\n return {\n successPromise: new Promise(() => { }),\n noSuccess: Promise.resolve(enrichtedSignInResultOption.noSuccess),\n signInResultOptionPromise: Promise.resolve(enrichtedSignInResultOption)\n };\n }\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 = buttonElem.offsetWidth;\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 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 try {\n let notEnrichedSuccessSignInResult = await GoogleOneTapAuthPlatform.triggerGoogleSignIn(options);\n if (Boolean(notEnrichedSuccessSignInResult.idToken)) {\n const enrichtedSuccessSignInResult = this.enrichSuccessResultWithDecodedIdToken(notEnrichedSuccessSignInResult);\n this.authenticatedUserId = enrichtedSuccessSignInResult.userId;\n resolve(enrichtedSuccessSignInResult);\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 = jwt_decode(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","jwt_decode"],"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';\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.clientId = undefined;\n this.nonce = undefined;\n }\n async initialize(options) {\n this.clientId = options.clientId;\n this.nonce = options.nonce;\n if (!this.gapiLoadedPromise) {\n this.gapiLoadedPromise = loadScript(this.gsiScriptUrl);\n }\n return this.gapiLoadedPromise;\n }\n async tryAutoOrOneTapSignIn() {\n let signInResult = await this.doSignIn(true);\n if (!signInResult.idToken) {\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 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 doSignIn(autoSelect) {\n var signInPromise = new Promise((resolve, reject) => {\n this.oneTapInitialize(autoSelect, resolve);\n google.accounts.id.prompt((notification) => {\n const developerErrors = ['missing_client_id', 'unregistered_origin'];\n const momentReason = this.getMomentReason(notification);\n if (momentReason !== undefined && developerErrors.includes(momentReason)) {\n reject({ errorCode: momentReason });\n }\n else if (momentReason === 'credential_returned') {\n // Do nothing, handled in handleCredentialResponse.\n }\n else if (notification.isNotDisplayed()\n || notification.isSkippedMoment()\n || notification.isDismissedMoment()) {\n resolve({\n noSuccessReasonCode: momentReason\n });\n }\n });\n });\n return signInPromise;\n }\n getMomentReason(notification) {\n if (notification.isNotDisplayed()) {\n return notification.getNotDisplayedReason();\n }\n if (notification.isSkippedMoment()) {\n return notification.getSkippedReason();\n }\n if (notification.isDismissedMoment()) {\n return notification.getDismissedReason();\n }\n return undefined;\n }\n oneTapInitialize(autoSelect, resolveSignInFunc, webOptions) {\n google.accounts.id.initialize({\n client_id: this.clientId,\n callback: (credentialResponse) => this.handleCredentialResponse(credentialResponse, resolveSignInFunc),\n auto_select: autoSelect,\n itp_support: (webOptions === null || webOptions === void 0 ? void 0 : webOptions.itpSupport) || false,\n cancel_on_tap_outside: true,\n ux_mode: (webOptions === null || webOptions === void 0 ? void 0 : webOptions.uxMode) || 'popup',\n nonce: this.nonce,\n });\n }\n handleCredentialResponse(credentialResponse, resolveSignInFunc) {\n let signInResult = {\n idToken: credentialResponse.credential,\n selectBy: credentialResponse.select_by,\n };\n resolveSignInFunc(signInResult);\n }\n signOut(authenticatedUserId) {\n return new Promise((resolve) => {\n google.accounts.id.cancel();\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 jwt_decode 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 signInResultOptionPromise = GoogleOneTapAuthPlatform.tryAutoOrOneTapSignIn();\n const notEnrichtedSignInResultOption = (await signInResultOptionPromise);\n const enrichtedSignInResultOption = this.enrichOptionResultWithDecodedIdToken(notEnrichtedSignInResultOption);\n if (enrichtedSignInResultOption.isSuccess) {\n this.authenticatedUserId = enrichtedSignInResultOption.success.userId;\n return {\n successPromise: Promise.resolve(enrichtedSignInResultOption.success),\n noSuccess: new Promise(() => { }),\n signInResultOptionPromise: Promise.resolve(enrichtedSignInResultOption)\n };\n }\n else {\n return {\n successPromise: new Promise(() => { }),\n noSuccess: Promise.resolve(enrichtedSignInResultOption.noSuccess),\n signInResultOptionPromise: Promise.resolve(enrichtedSignInResultOption)\n };\n }\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 = buttonElem.offsetWidth;\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 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 = jwt_decode(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","jwt_decode"],"mappings":"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"}
package/dist/plugin.js CHANGED
@@ -273,13 +273,19 @@ var capacitorNativeGoogleOneTapSignin = (function (exports, core, jwt_decode) {
273
273
  return;
274
274
  }
275
275
  const onClickAction = async () => {
276
+ var _a;
276
277
  try {
277
- let notEnrichedSuccessSignInResult = await GoogleOneTapAuthPlatform.triggerGoogleSignIn(options);
278
- if (Boolean(notEnrichedSuccessSignInResult.idToken)) {
279
- const enrichtedSuccessSignInResult = this.enrichSuccessResultWithDecodedIdToken(notEnrichedSuccessSignInResult);
278
+ const notEnrichedSuccessSignInResult = await GoogleOneTapAuthPlatform.triggerGoogleSignIn(options);
279
+ if (notEnrichedSuccessSignInResult.isSuccess) {
280
+ const enrichtedSuccessSignInResult = this.enrichSuccessResultWithDecodedIdToken(notEnrichedSuccessSignInResult.success);
280
281
  this.authenticatedUserId = enrichtedSuccessSignInResult.userId;
281
282
  resolve(enrichtedSuccessSignInResult);
282
283
  }
284
+ else {
285
+ if (((_a = notEnrichedSuccessSignInResult.noSuccess) === null || _a === void 0 ? void 0 : _a.noSuccessReasonCode) === 'SIGN_IN_CANCELLED') {
286
+ // console.log('User cancelled sign in. Waiting for next sign in attempt.');
287
+ }
288
+ }
283
289
  }
284
290
  catch (e) {
285
291
  reject(e);
@@ -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';\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.clientId = undefined;\n this.nonce = undefined;\n }\n async initialize(options) {\n this.clientId = options.clientId;\n this.nonce = options.nonce;\n if (!this.gapiLoadedPromise) {\n this.gapiLoadedPromise = loadScript(this.gsiScriptUrl);\n }\n return this.gapiLoadedPromise;\n }\n async tryAutoOrOneTapSignIn() {\n let signInResult = await this.doSignIn(true);\n if (!signInResult.idToken) {\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 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 doSignIn(autoSelect) {\n var signInPromise = new Promise((resolve, reject) => {\n this.oneTapInitialize(autoSelect, resolve);\n google.accounts.id.prompt((notification) => {\n const developerErrors = ['missing_client_id', 'unregistered_origin'];\n const momentReason = this.getMomentReason(notification);\n if (momentReason !== undefined && developerErrors.includes(momentReason)) {\n reject({ errorCode: momentReason });\n }\n else if (momentReason === 'credential_returned') {\n // Do nothing, handled in handleCredentialResponse.\n }\n else if (notification.isNotDisplayed()\n || notification.isSkippedMoment()\n || notification.isDismissedMoment()) {\n resolve({\n noSuccessReasonCode: momentReason\n });\n }\n });\n });\n return signInPromise;\n }\n getMomentReason(notification) {\n if (notification.isNotDisplayed()) {\n return notification.getNotDisplayedReason();\n }\n if (notification.isSkippedMoment()) {\n return notification.getSkippedReason();\n }\n if (notification.isDismissedMoment()) {\n return notification.getDismissedReason();\n }\n return undefined;\n }\n oneTapInitialize(autoSelect, resolveSignInFunc, webOptions) {\n google.accounts.id.initialize({\n client_id: this.clientId,\n callback: (credentialResponse) => this.handleCredentialResponse(credentialResponse, resolveSignInFunc),\n auto_select: autoSelect,\n itp_support: (webOptions === null || webOptions === void 0 ? void 0 : webOptions.itpSupport) || false,\n cancel_on_tap_outside: true,\n ux_mode: (webOptions === null || webOptions === void 0 ? void 0 : webOptions.uxMode) || 'popup',\n nonce: this.nonce,\n });\n }\n handleCredentialResponse(credentialResponse, resolveSignInFunc) {\n let signInResult = {\n idToken: credentialResponse.credential,\n selectBy: credentialResponse.select_by,\n };\n resolveSignInFunc(signInResult);\n }\n signOut(authenticatedUserId) {\n return new Promise((resolve) => {\n google.accounts.id.cancel();\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 jwt_decode 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 signInResultOptionPromise = GoogleOneTapAuthPlatform.tryAutoOrOneTapSignIn();\n const notEnrichtedSignInResultOption = (await signInResultOptionPromise);\n const enrichtedSignInResultOption = this.enrichOptionResultWithDecodedIdToken(notEnrichtedSignInResultOption);\n if (enrichtedSignInResultOption.isSuccess) {\n this.authenticatedUserId = enrichtedSignInResultOption.success.userId;\n return {\n successPromise: Promise.resolve(enrichtedSignInResultOption.success),\n noSuccess: new Promise(() => { }),\n signInResultOptionPromise: Promise.resolve(enrichtedSignInResultOption)\n };\n }\n else {\n return {\n successPromise: new Promise(() => { }),\n noSuccess: Promise.resolve(enrichtedSignInResultOption.noSuccess),\n signInResultOptionPromise: Promise.resolve(enrichtedSignInResultOption)\n };\n }\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 = buttonElem.offsetWidth;\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 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 try {\n let notEnrichedSuccessSignInResult = await GoogleOneTapAuthPlatform.triggerGoogleSignIn(options);\n if (Boolean(notEnrichedSuccessSignInResult.idToken)) {\n const enrichtedSuccessSignInResult = this.enrichSuccessResultWithDecodedIdToken(notEnrichedSuccessSignInResult);\n this.authenticatedUserId = enrichtedSuccessSignInResult.userId;\n resolve(enrichtedSuccessSignInResult);\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 = jwt_decode(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","jwt_decode"],"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';\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.clientId = undefined;\n this.nonce = undefined;\n }\n async initialize(options) {\n this.clientId = options.clientId;\n this.nonce = options.nonce;\n if (!this.gapiLoadedPromise) {\n this.gapiLoadedPromise = loadScript(this.gsiScriptUrl);\n }\n return this.gapiLoadedPromise;\n }\n async tryAutoOrOneTapSignIn() {\n let signInResult = await this.doSignIn(true);\n if (!signInResult.idToken) {\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 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 doSignIn(autoSelect) {\n var signInPromise = new Promise((resolve, reject) => {\n this.oneTapInitialize(autoSelect, resolve);\n google.accounts.id.prompt((notification) => {\n const developerErrors = ['missing_client_id', 'unregistered_origin'];\n const momentReason = this.getMomentReason(notification);\n if (momentReason !== undefined && developerErrors.includes(momentReason)) {\n reject({ errorCode: momentReason });\n }\n else if (momentReason === 'credential_returned') {\n // Do nothing, handled in handleCredentialResponse.\n }\n else if (notification.isNotDisplayed()\n || notification.isSkippedMoment()\n || notification.isDismissedMoment()) {\n resolve({\n noSuccessReasonCode: momentReason\n });\n }\n });\n });\n return signInPromise;\n }\n getMomentReason(notification) {\n if (notification.isNotDisplayed()) {\n return notification.getNotDisplayedReason();\n }\n if (notification.isSkippedMoment()) {\n return notification.getSkippedReason();\n }\n if (notification.isDismissedMoment()) {\n return notification.getDismissedReason();\n }\n return undefined;\n }\n oneTapInitialize(autoSelect, resolveSignInFunc, webOptions) {\n google.accounts.id.initialize({\n client_id: this.clientId,\n callback: (credentialResponse) => this.handleCredentialResponse(credentialResponse, resolveSignInFunc),\n auto_select: autoSelect,\n itp_support: (webOptions === null || webOptions === void 0 ? void 0 : webOptions.itpSupport) || false,\n cancel_on_tap_outside: true,\n ux_mode: (webOptions === null || webOptions === void 0 ? void 0 : webOptions.uxMode) || 'popup',\n nonce: this.nonce,\n });\n }\n handleCredentialResponse(credentialResponse, resolveSignInFunc) {\n let signInResult = {\n idToken: credentialResponse.credential,\n selectBy: credentialResponse.select_by,\n };\n resolveSignInFunc(signInResult);\n }\n signOut(authenticatedUserId) {\n return new Promise((resolve) => {\n google.accounts.id.cancel();\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 jwt_decode 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 signInResultOptionPromise = GoogleOneTapAuthPlatform.tryAutoOrOneTapSignIn();\n const notEnrichtedSignInResultOption = (await signInResultOptionPromise);\n const enrichtedSignInResultOption = this.enrichOptionResultWithDecodedIdToken(notEnrichtedSignInResultOption);\n if (enrichtedSignInResultOption.isSuccess) {\n this.authenticatedUserId = enrichtedSignInResultOption.success.userId;\n return {\n successPromise: Promise.resolve(enrichtedSignInResultOption.success),\n noSuccess: new Promise(() => { }),\n signInResultOptionPromise: Promise.resolve(enrichtedSignInResultOption)\n };\n }\n else {\n return {\n successPromise: new Promise(() => { }),\n noSuccess: Promise.resolve(enrichtedSignInResultOption.noSuccess),\n signInResultOptionPromise: Promise.resolve(enrichtedSignInResultOption)\n };\n }\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 = buttonElem.offsetWidth;\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 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 = jwt_decode(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","jwt_decode"],"mappings":"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"}
@@ -39,13 +39,13 @@ public class GoogleOneTapAuth: CAPPlugin {
39
39
  self.googleSignIn.signIn(withPresenting: presentingVc) { signInResult, error in
40
40
  if let error = error {
41
41
  if (error._code == self.gIDSignInErrorCodeCanceled) {
42
- call.resolve(self.createErrorResponse(reasonCode: "SIGN_IN_CANCELLED"))
42
+ call.resolve(self.wrapInSignInResultInOption(self.createErrorResponse(reasonCode: "SIGN_IN_CANCELLED")))
43
43
  return;
44
44
  }
45
45
  call.reject(error.localizedDescription, "\(error._code)")
46
46
  return;
47
47
  }
48
- call.resolve(self.createSuccessSignInResult(user: signInResult?.user))
48
+ call.resolve(self.wrapInSignInResultInOption(self.createSuccessSignInResult(user: signInResult?.user)))
49
49
  };
50
50
  }
51
51
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "capacitor-native-google-one-tap-signin",
3
- "version": "5.1.2",
3
+ "version": "5.1.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",