@capgo/capacitor-social-login 8.1.1 → 8.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +215 -35
- package/android/src/main/AndroidManifest.xml +4 -0
- package/android/src/main/java/ee/forgr/capacitor/social/login/OAuth2LoginActivity.java +110 -0
- package/android/src/main/java/ee/forgr/capacitor/social/login/OAuth2Provider.java +848 -0
- package/android/src/main/java/ee/forgr/capacitor/social/login/SocialLoginPlugin.java +27 -1
- package/dist/docs.json +352 -22
- package/dist/esm/definitions.d.ts +167 -3
- package/dist/esm/definitions.js.map +1 -1
- package/dist/esm/oauth2-provider.d.ts +41 -0
- package/dist/esm/oauth2-provider.js +444 -0
- package/dist/esm/oauth2-provider.js.map +1 -0
- package/dist/esm/web.d.ts +3 -1
- package/dist/esm/web.js +32 -0
- package/dist/esm/web.js.map +1 -1
- package/dist/plugin.cjs.js +474 -0
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +474 -0
- package/dist/plugin.js.map +1 -1
- package/ios/Sources/SocialLoginPlugin/OAuth2Provider.swift +575 -0
- package/ios/Sources/SocialLoginPlugin/SocialLoginPlugin.swift +111 -2
- package/package.json +2 -1
|
@@ -19,7 +19,7 @@ import org.json.JSONObject;
|
|
|
19
19
|
@CapacitorPlugin(name = "SocialLogin")
|
|
20
20
|
public class SocialLoginPlugin extends Plugin {
|
|
21
21
|
|
|
22
|
-
private final String pluginVersion = "8.
|
|
22
|
+
private final String pluginVersion = "8.2.1";
|
|
23
23
|
|
|
24
24
|
public static String LOG_TAG = "CapgoSocialLogin";
|
|
25
25
|
|
|
@@ -162,6 +162,23 @@ public class SocialLoginPlugin extends Plugin {
|
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
164
|
|
|
165
|
+
JSObject oauth2 = call.getObject("oauth2");
|
|
166
|
+
if (oauth2 != null && oauth2.length() > 0) {
|
|
167
|
+
// oauth2 is now a map of providerId -> config: { "github": {...}, "azure": {...} }
|
|
168
|
+
OAuth2Provider oauth2Provider = new OAuth2Provider(this.getActivity(), this.getContext());
|
|
169
|
+
try {
|
|
170
|
+
java.util.List<String> errors = oauth2Provider.initializeProviders(oauth2);
|
|
171
|
+
if (!errors.isEmpty()) {
|
|
172
|
+
call.reject(String.join(", ", errors));
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
this.socialProviderHashMap.put("oauth2", oauth2Provider);
|
|
176
|
+
} catch (JSONException e) {
|
|
177
|
+
call.reject("Failed to initialize OAuth2 provider: " + e.getMessage());
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
165
182
|
call.resolve();
|
|
166
183
|
}
|
|
167
184
|
|
|
@@ -390,6 +407,15 @@ public class SocialLoginPlugin extends Plugin {
|
|
|
390
407
|
}
|
|
391
408
|
}
|
|
392
409
|
|
|
410
|
+
SocialProvider oauth2Provider = socialProviderHashMap.get("oauth2");
|
|
411
|
+
if (oauth2Provider instanceof OAuth2Provider) {
|
|
412
|
+
boolean handled = ((OAuth2Provider) oauth2Provider).handleActivityResult(requestCode, resultCode, data);
|
|
413
|
+
if (handled) {
|
|
414
|
+
Log.d(LOG_TAG, "OAuth2 activity result handled");
|
|
415
|
+
return;
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
|
|
393
419
|
// Handle other providers' activity results if needed
|
|
394
420
|
Log.d(LOG_TAG, "Activity result not handled by any provider");
|
|
395
421
|
}
|
package/dist/docs.json
CHANGED
|
@@ -30,12 +30,12 @@
|
|
|
30
30
|
},
|
|
31
31
|
{
|
|
32
32
|
"name": "login",
|
|
33
|
-
"signature": "<T extends \"apple\" | \"google\" | \"facebook\" | \"twitter\">(options: Extract<LoginOptions, { provider: T; }>) => Promise<{ provider: T; result: ProviderResponseMap[T]; }>",
|
|
33
|
+
"signature": "<T extends \"apple\" | \"google\" | \"facebook\" | \"twitter\" | \"oauth2\">(options: Extract<LoginOptions, { provider: T; }>) => Promise<{ provider: T; result: ProviderResponseMap[T]; }>",
|
|
34
34
|
"parameters": [
|
|
35
35
|
{
|
|
36
36
|
"name": "options",
|
|
37
37
|
"docs": "",
|
|
38
|
-
"type": "Extract<{ provider: 'facebook'; options: FacebookLoginOptions; }, { provider: T; }> | Extract<{ provider: 'google'; options: GoogleLoginOptions; }, { provider: T; }> | Extract<{ provider: 'apple'; options: AppleProviderOptions; }, { provider: T; }> | Extract<{ provider: 'twitter'; options: TwitterLoginOptions; }, { provider: T; }>"
|
|
38
|
+
"type": "Extract<{ provider: 'facebook'; options: FacebookLoginOptions; }, { provider: T; }> | Extract<{ provider: 'google'; options: GoogleLoginOptions; }, { provider: T; }> | Extract<{ provider: 'apple'; options: AppleProviderOptions; }, { provider: T; }> | Extract<{ provider: 'twitter'; options: TwitterLoginOptions; }, { provider: T; }> | Extract<{ provider: 'oauth2'; options: OAuth2LoginOptions; }, { provider: T; }>"
|
|
39
39
|
}
|
|
40
40
|
],
|
|
41
41
|
"returns": "Promise<{ provider: T; result: ProviderResponseMap[T]; }>",
|
|
@@ -56,12 +56,12 @@
|
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
58
|
"name": "logout",
|
|
59
|
-
"signature": "(options: { provider: 'apple' | 'google' | 'facebook' | 'twitter'; }) => Promise<void>",
|
|
59
|
+
"signature": "(options: { provider: 'apple' | 'google' | 'facebook' | 'twitter' | 'oauth2'; providerId?: string; }) => Promise<void>",
|
|
60
60
|
"parameters": [
|
|
61
61
|
{
|
|
62
62
|
"name": "options",
|
|
63
63
|
"docs": "",
|
|
64
|
-
"type": "{ provider: 'apple' | 'google' | 'facebook' | 'twitter'; }"
|
|
64
|
+
"type": "{ provider: 'apple' | 'google' | 'facebook' | 'twitter' | 'oauth2'; providerId?: string | undefined; }"
|
|
65
65
|
}
|
|
66
66
|
],
|
|
67
67
|
"returns": "Promise<void>",
|
|
@@ -213,6 +213,21 @@
|
|
|
213
213
|
"tags": [],
|
|
214
214
|
"methods": [],
|
|
215
215
|
"properties": [
|
|
216
|
+
{
|
|
217
|
+
"name": "oauth2",
|
|
218
|
+
"tags": [
|
|
219
|
+
{
|
|
220
|
+
"text": "{\n github: { appId: '...', authorizationBaseUrl: 'https://github.com/login/oauth/authorize', ... },\n azure: { appId: '...', authorizationBaseUrl: 'https://login.microsoftonline.com/.../oauth2/v2.0/authorize', ... }\n}",
|
|
221
|
+
"name": "example"
|
|
222
|
+
}
|
|
223
|
+
],
|
|
224
|
+
"docs": "OAuth2 provider configurations.\nSupports multiple providers by using a Record with provider IDs as keys.",
|
|
225
|
+
"complexTypes": [
|
|
226
|
+
"Record",
|
|
227
|
+
"OAuth2ProviderConfig"
|
|
228
|
+
],
|
|
229
|
+
"type": "Record<string, OAuth2ProviderConfig>"
|
|
230
|
+
},
|
|
216
231
|
{
|
|
217
232
|
"name": "twitter",
|
|
218
233
|
"tags": [],
|
|
@@ -243,6 +258,163 @@
|
|
|
243
258
|
}
|
|
244
259
|
]
|
|
245
260
|
},
|
|
261
|
+
{
|
|
262
|
+
"name": "OAuth2ProviderConfig",
|
|
263
|
+
"slug": "oauth2providerconfig",
|
|
264
|
+
"docs": "Configuration for a single OAuth2 provider instance",
|
|
265
|
+
"tags": [],
|
|
266
|
+
"methods": [],
|
|
267
|
+
"properties": [
|
|
268
|
+
{
|
|
269
|
+
"name": "appId",
|
|
270
|
+
"tags": [
|
|
271
|
+
{
|
|
272
|
+
"text": "'your-client-id'",
|
|
273
|
+
"name": "example"
|
|
274
|
+
}
|
|
275
|
+
],
|
|
276
|
+
"docs": "The OAuth 2.0 client identifier (App ID / Client ID)",
|
|
277
|
+
"complexTypes": [],
|
|
278
|
+
"type": "string"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"name": "authorizationBaseUrl",
|
|
282
|
+
"tags": [
|
|
283
|
+
{
|
|
284
|
+
"text": "'https://accounts.example.com/oauth2/authorize'",
|
|
285
|
+
"name": "example"
|
|
286
|
+
}
|
|
287
|
+
],
|
|
288
|
+
"docs": "The base URL of the authorization endpoint",
|
|
289
|
+
"complexTypes": [],
|
|
290
|
+
"type": "string"
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"name": "accessTokenEndpoint",
|
|
294
|
+
"tags": [
|
|
295
|
+
{
|
|
296
|
+
"text": "'https://accounts.example.com/oauth2/token'",
|
|
297
|
+
"name": "example"
|
|
298
|
+
}
|
|
299
|
+
],
|
|
300
|
+
"docs": "The URL to exchange the authorization code for tokens\nRequired for authorization code flow",
|
|
301
|
+
"complexTypes": [],
|
|
302
|
+
"type": "string | undefined"
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"name": "redirectUrl",
|
|
306
|
+
"tags": [
|
|
307
|
+
{
|
|
308
|
+
"text": "'myapp://oauth/callback'",
|
|
309
|
+
"name": "example"
|
|
310
|
+
}
|
|
311
|
+
],
|
|
312
|
+
"docs": "Redirect URL that receives the OAuth callback",
|
|
313
|
+
"complexTypes": [],
|
|
314
|
+
"type": "string"
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"name": "resourceUrl",
|
|
318
|
+
"tags": [
|
|
319
|
+
{
|
|
320
|
+
"text": "'https://api.example.com/userinfo'",
|
|
321
|
+
"name": "example"
|
|
322
|
+
}
|
|
323
|
+
],
|
|
324
|
+
"docs": "Optional URL to fetch user profile/resource data after authentication\nThe access token will be sent as Bearer token in the Authorization header",
|
|
325
|
+
"complexTypes": [],
|
|
326
|
+
"type": "string | undefined"
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"name": "responseType",
|
|
330
|
+
"tags": [
|
|
331
|
+
{
|
|
332
|
+
"text": "'code'",
|
|
333
|
+
"name": "default"
|
|
334
|
+
}
|
|
335
|
+
],
|
|
336
|
+
"docs": "The OAuth response type\n- 'code': Authorization Code flow (recommended, requires accessTokenEndpoint)\n- 'token': Implicit flow (less secure, tokens returned directly)",
|
|
337
|
+
"complexTypes": [],
|
|
338
|
+
"type": "'code' | 'token' | undefined"
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"name": "pkceEnabled",
|
|
342
|
+
"tags": [
|
|
343
|
+
{
|
|
344
|
+
"text": "true",
|
|
345
|
+
"name": "default"
|
|
346
|
+
}
|
|
347
|
+
],
|
|
348
|
+
"docs": "Enable PKCE (Proof Key for Code Exchange)\nStrongly recommended for public clients (mobile/web apps)",
|
|
349
|
+
"complexTypes": [],
|
|
350
|
+
"type": "boolean | undefined"
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"name": "scope",
|
|
354
|
+
"tags": [
|
|
355
|
+
{
|
|
356
|
+
"text": "'openid profile email'",
|
|
357
|
+
"name": "example"
|
|
358
|
+
}
|
|
359
|
+
],
|
|
360
|
+
"docs": "Default scopes to request during authorization",
|
|
361
|
+
"complexTypes": [],
|
|
362
|
+
"type": "string | undefined"
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
"name": "additionalParameters",
|
|
366
|
+
"tags": [
|
|
367
|
+
{
|
|
368
|
+
"text": "{ prompt: 'consent', login_hint: 'user@example.com' }",
|
|
369
|
+
"name": "example"
|
|
370
|
+
}
|
|
371
|
+
],
|
|
372
|
+
"docs": "Additional parameters to include in the authorization request",
|
|
373
|
+
"complexTypes": [
|
|
374
|
+
"Record"
|
|
375
|
+
],
|
|
376
|
+
"type": "Record<string, string>"
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
"name": "additionalResourceHeaders",
|
|
380
|
+
"tags": [
|
|
381
|
+
{
|
|
382
|
+
"text": "{ 'X-Custom-Header': 'value' }",
|
|
383
|
+
"name": "example"
|
|
384
|
+
}
|
|
385
|
+
],
|
|
386
|
+
"docs": "Additional headers to include when fetching the resource URL",
|
|
387
|
+
"complexTypes": [
|
|
388
|
+
"Record"
|
|
389
|
+
],
|
|
390
|
+
"type": "Record<string, string>"
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
"name": "logoutUrl",
|
|
394
|
+
"tags": [
|
|
395
|
+
{
|
|
396
|
+
"text": "'https://accounts.example.com/logout'",
|
|
397
|
+
"name": "example"
|
|
398
|
+
}
|
|
399
|
+
],
|
|
400
|
+
"docs": "Custom logout URL for ending the session",
|
|
401
|
+
"complexTypes": [],
|
|
402
|
+
"type": "string | undefined"
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
"name": "logsEnabled",
|
|
406
|
+
"tags": [
|
|
407
|
+
{
|
|
408
|
+
"text": "false",
|
|
409
|
+
"name": "default"
|
|
410
|
+
}
|
|
411
|
+
],
|
|
412
|
+
"docs": "Enable debug logging",
|
|
413
|
+
"complexTypes": [],
|
|
414
|
+
"type": "boolean | undefined"
|
|
415
|
+
}
|
|
416
|
+
]
|
|
417
|
+
},
|
|
246
418
|
{
|
|
247
419
|
"name": "FacebookLoginResponse",
|
|
248
420
|
"slug": "facebookloginresponse",
|
|
@@ -585,6 +757,75 @@
|
|
|
585
757
|
}
|
|
586
758
|
]
|
|
587
759
|
},
|
|
760
|
+
{
|
|
761
|
+
"name": "OAuth2LoginResponse",
|
|
762
|
+
"slug": "oauth2loginresponse",
|
|
763
|
+
"docs": "",
|
|
764
|
+
"tags": [],
|
|
765
|
+
"methods": [],
|
|
766
|
+
"properties": [
|
|
767
|
+
{
|
|
768
|
+
"name": "providerId",
|
|
769
|
+
"tags": [],
|
|
770
|
+
"docs": "The provider ID that was used for this login",
|
|
771
|
+
"complexTypes": [],
|
|
772
|
+
"type": "string"
|
|
773
|
+
},
|
|
774
|
+
{
|
|
775
|
+
"name": "accessToken",
|
|
776
|
+
"tags": [],
|
|
777
|
+
"docs": "The access token received from the OAuth provider",
|
|
778
|
+
"complexTypes": [
|
|
779
|
+
"AccessToken"
|
|
780
|
+
],
|
|
781
|
+
"type": "AccessToken | null"
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
"name": "idToken",
|
|
785
|
+
"tags": [],
|
|
786
|
+
"docs": "The ID token (JWT) if provided by the OAuth server (e.g., OpenID Connect)",
|
|
787
|
+
"complexTypes": [],
|
|
788
|
+
"type": "string | null"
|
|
789
|
+
},
|
|
790
|
+
{
|
|
791
|
+
"name": "refreshToken",
|
|
792
|
+
"tags": [],
|
|
793
|
+
"docs": "The refresh token if provided (requires appropriate scope like offline_access)",
|
|
794
|
+
"complexTypes": [],
|
|
795
|
+
"type": "string | null"
|
|
796
|
+
},
|
|
797
|
+
{
|
|
798
|
+
"name": "resourceData",
|
|
799
|
+
"tags": [],
|
|
800
|
+
"docs": "Resource data fetched from resourceUrl if configured\nContains the raw JSON response from the resource endpoint",
|
|
801
|
+
"complexTypes": [
|
|
802
|
+
"Record"
|
|
803
|
+
],
|
|
804
|
+
"type": "Record<string, unknown> | null"
|
|
805
|
+
},
|
|
806
|
+
{
|
|
807
|
+
"name": "scope",
|
|
808
|
+
"tags": [],
|
|
809
|
+
"docs": "The scopes that were granted",
|
|
810
|
+
"complexTypes": [],
|
|
811
|
+
"type": "string[]"
|
|
812
|
+
},
|
|
813
|
+
{
|
|
814
|
+
"name": "tokenType",
|
|
815
|
+
"tags": [],
|
|
816
|
+
"docs": "Token type (usually 'bearer')",
|
|
817
|
+
"complexTypes": [],
|
|
818
|
+
"type": "string"
|
|
819
|
+
},
|
|
820
|
+
{
|
|
821
|
+
"name": "expiresIn",
|
|
822
|
+
"tags": [],
|
|
823
|
+
"docs": "Token expiration time in seconds",
|
|
824
|
+
"complexTypes": [],
|
|
825
|
+
"type": "number | null"
|
|
826
|
+
}
|
|
827
|
+
]
|
|
828
|
+
},
|
|
588
829
|
{
|
|
589
830
|
"name": "FacebookLoginOptions",
|
|
590
831
|
"slug": "facebookloginoptions",
|
|
@@ -901,6 +1142,64 @@
|
|
|
901
1142
|
}
|
|
902
1143
|
]
|
|
903
1144
|
},
|
|
1145
|
+
{
|
|
1146
|
+
"name": "OAuth2LoginOptions",
|
|
1147
|
+
"slug": "oauth2loginoptions",
|
|
1148
|
+
"docs": "",
|
|
1149
|
+
"tags": [],
|
|
1150
|
+
"methods": [],
|
|
1151
|
+
"properties": [
|
|
1152
|
+
{
|
|
1153
|
+
"name": "providerId",
|
|
1154
|
+
"tags": [
|
|
1155
|
+
{
|
|
1156
|
+
"text": "'github', 'azure', 'keycloak'",
|
|
1157
|
+
"name": "example"
|
|
1158
|
+
}
|
|
1159
|
+
],
|
|
1160
|
+
"docs": "The provider ID as configured in initialize()\nThis is required to identify which OAuth2 provider to use",
|
|
1161
|
+
"complexTypes": [],
|
|
1162
|
+
"type": "string"
|
|
1163
|
+
},
|
|
1164
|
+
{
|
|
1165
|
+
"name": "scope",
|
|
1166
|
+
"tags": [],
|
|
1167
|
+
"docs": "Override the scopes for this login request\nIf not provided, uses the scopes from initialization",
|
|
1168
|
+
"complexTypes": [],
|
|
1169
|
+
"type": "string | undefined"
|
|
1170
|
+
},
|
|
1171
|
+
{
|
|
1172
|
+
"name": "state",
|
|
1173
|
+
"tags": [],
|
|
1174
|
+
"docs": "Custom state parameter for CSRF protection\nIf not provided, a random value is generated",
|
|
1175
|
+
"complexTypes": [],
|
|
1176
|
+
"type": "string | undefined"
|
|
1177
|
+
},
|
|
1178
|
+
{
|
|
1179
|
+
"name": "codeVerifier",
|
|
1180
|
+
"tags": [],
|
|
1181
|
+
"docs": "Override PKCE code verifier (for testing purposes)\nIf not provided, a secure random verifier is generated",
|
|
1182
|
+
"complexTypes": [],
|
|
1183
|
+
"type": "string | undefined"
|
|
1184
|
+
},
|
|
1185
|
+
{
|
|
1186
|
+
"name": "redirectUrl",
|
|
1187
|
+
"tags": [],
|
|
1188
|
+
"docs": "Override redirect URL for this login request",
|
|
1189
|
+
"complexTypes": [],
|
|
1190
|
+
"type": "string | undefined"
|
|
1191
|
+
},
|
|
1192
|
+
{
|
|
1193
|
+
"name": "additionalParameters",
|
|
1194
|
+
"tags": [],
|
|
1195
|
+
"docs": "Additional parameters to add to the authorization URL",
|
|
1196
|
+
"complexTypes": [
|
|
1197
|
+
"Record"
|
|
1198
|
+
],
|
|
1199
|
+
"type": "Record<string, string>"
|
|
1200
|
+
}
|
|
1201
|
+
]
|
|
1202
|
+
},
|
|
904
1203
|
{
|
|
905
1204
|
"name": "isLoggedInOptions",
|
|
906
1205
|
"slug": "isloggedinoptions",
|
|
@@ -918,7 +1217,19 @@
|
|
|
918
1217
|
],
|
|
919
1218
|
"docs": "Provider",
|
|
920
1219
|
"complexTypes": [],
|
|
921
|
-
"type": "'apple' | 'google' | 'facebook' | 'twitter'"
|
|
1220
|
+
"type": "'apple' | 'google' | 'facebook' | 'twitter' | 'oauth2'"
|
|
1221
|
+
},
|
|
1222
|
+
{
|
|
1223
|
+
"name": "providerId",
|
|
1224
|
+
"tags": [
|
|
1225
|
+
{
|
|
1226
|
+
"text": "The ID used when configuring the OAuth2 provider in initialize()",
|
|
1227
|
+
"name": "description"
|
|
1228
|
+
}
|
|
1229
|
+
],
|
|
1230
|
+
"docs": "Provider ID for OAuth2 providers (required when provider is 'oauth2')",
|
|
1231
|
+
"complexTypes": [],
|
|
1232
|
+
"type": "string | undefined"
|
|
922
1233
|
}
|
|
923
1234
|
]
|
|
924
1235
|
},
|
|
@@ -972,7 +1283,19 @@
|
|
|
972
1283
|
],
|
|
973
1284
|
"docs": "Provider",
|
|
974
1285
|
"complexTypes": [],
|
|
975
|
-
"type": "'apple' | 'google' | 'facebook' | 'twitter'"
|
|
1286
|
+
"type": "'apple' | 'google' | 'facebook' | 'twitter' | 'oauth2'"
|
|
1287
|
+
},
|
|
1288
|
+
{
|
|
1289
|
+
"name": "providerId",
|
|
1290
|
+
"tags": [
|
|
1291
|
+
{
|
|
1292
|
+
"text": "The ID used when configuring the OAuth2 provider in initialize()",
|
|
1293
|
+
"name": "description"
|
|
1294
|
+
}
|
|
1295
|
+
],
|
|
1296
|
+
"docs": "Provider ID for OAuth2 providers (required when provider is 'oauth2')",
|
|
1297
|
+
"complexTypes": [],
|
|
1298
|
+
"type": "string | undefined"
|
|
976
1299
|
}
|
|
977
1300
|
]
|
|
978
1301
|
},
|
|
@@ -1032,18 +1355,33 @@
|
|
|
1032
1355
|
],
|
|
1033
1356
|
"enums": [],
|
|
1034
1357
|
"typeAliases": [
|
|
1358
|
+
{
|
|
1359
|
+
"name": "Record",
|
|
1360
|
+
"slug": "record",
|
|
1361
|
+
"docs": "Construct a type with a set of properties K of type T",
|
|
1362
|
+
"types": [
|
|
1363
|
+
{
|
|
1364
|
+
"text": "{\r\n [P in K]: T;\r\n}",
|
|
1365
|
+
"complexTypes": [
|
|
1366
|
+
"K",
|
|
1367
|
+
"T"
|
|
1368
|
+
]
|
|
1369
|
+
}
|
|
1370
|
+
]
|
|
1371
|
+
},
|
|
1035
1372
|
{
|
|
1036
1373
|
"name": "ProviderResponseMap",
|
|
1037
1374
|
"slug": "providerresponsemap",
|
|
1038
1375
|
"docs": "",
|
|
1039
1376
|
"types": [
|
|
1040
1377
|
{
|
|
1041
|
-
"text": "{\n facebook: FacebookLoginResponse;\n google: GoogleLoginResponse;\n apple: AppleProviderResponse;\n twitter: TwitterLoginResponse;\n}",
|
|
1378
|
+
"text": "{\n facebook: FacebookLoginResponse;\n google: GoogleLoginResponse;\n apple: AppleProviderResponse;\n twitter: TwitterLoginResponse;\n oauth2: OAuth2LoginResponse;\n}",
|
|
1042
1379
|
"complexTypes": [
|
|
1043
1380
|
"FacebookLoginResponse",
|
|
1044
1381
|
"GoogleLoginResponse",
|
|
1045
1382
|
"AppleProviderResponse",
|
|
1046
|
-
"TwitterLoginResponse"
|
|
1383
|
+
"TwitterLoginResponse",
|
|
1384
|
+
"OAuth2LoginResponse"
|
|
1047
1385
|
]
|
|
1048
1386
|
}
|
|
1049
1387
|
]
|
|
@@ -1095,6 +1433,12 @@
|
|
|
1095
1433
|
"complexTypes": [
|
|
1096
1434
|
"TwitterLoginOptions"
|
|
1097
1435
|
]
|
|
1436
|
+
},
|
|
1437
|
+
{
|
|
1438
|
+
"text": "{\n provider: 'oauth2';\n options: OAuth2LoginOptions;\n }",
|
|
1439
|
+
"complexTypes": [
|
|
1440
|
+
"OAuth2LoginOptions"
|
|
1441
|
+
]
|
|
1098
1442
|
}
|
|
1099
1443
|
]
|
|
1100
1444
|
},
|
|
@@ -1167,20 +1511,6 @@
|
|
|
1167
1511
|
]
|
|
1168
1512
|
}
|
|
1169
1513
|
]
|
|
1170
|
-
},
|
|
1171
|
-
{
|
|
1172
|
-
"name": "Record",
|
|
1173
|
-
"slug": "record",
|
|
1174
|
-
"docs": "Construct a type with a set of properties K of type T",
|
|
1175
|
-
"types": [
|
|
1176
|
-
{
|
|
1177
|
-
"text": "{\r\n [P in K]: T;\r\n}",
|
|
1178
|
-
"complexTypes": [
|
|
1179
|
-
"K",
|
|
1180
|
-
"T"
|
|
1181
|
-
]
|
|
1182
|
-
}
|
|
1183
|
-
]
|
|
1184
1514
|
}
|
|
1185
1515
|
],
|
|
1186
1516
|
"pluginConfigs": []
|