@capgo/capacitor-social-login 8.3.18 → 8.3.20

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.
Files changed (35) hide show
  1. package/README.md +21 -0
  2. package/android/src/main/java/ee/forgr/capacitor/social/login/FacebookProvider.java +2 -1
  3. package/android/src/main/java/ee/forgr/capacitor/social/login/GoogleProvider.java +6 -0
  4. package/android/src/main/java/ee/forgr/capacitor/social/login/OAuth2LoginActivity.java +5 -3
  5. package/android/src/main/java/ee/forgr/capacitor/social/login/OAuth2Provider.java +25 -2
  6. package/android/src/main/java/ee/forgr/capacitor/social/login/SocialLoginPlugin.java +1 -1
  7. package/android/src/main/java/ee/forgr/capacitor/social/login/TwitterLoginActivity.java +5 -3
  8. package/android/src/main/java/ee/forgr/capacitor/social/login/TwitterProvider.java +25 -2
  9. package/dist/docs.json +1 -1
  10. package/dist/esm/apple-provider.js +4 -1
  11. package/dist/esm/apple-provider.js.map +1 -1
  12. package/dist/esm/definitions.d.ts +17 -0
  13. package/dist/esm/definitions.js.map +1 -1
  14. package/dist/esm/errors.d.ts +8 -0
  15. package/dist/esm/errors.js +30 -0
  16. package/dist/esm/errors.js.map +1 -0
  17. package/dist/esm/facebook-provider.d.ts +2 -1
  18. package/dist/esm/facebook-provider.js +91 -26
  19. package/dist/esm/facebook-provider.js.map +1 -1
  20. package/dist/esm/google-provider.d.ts +1 -1
  21. package/dist/esm/google-provider.js +4 -3
  22. package/dist/esm/google-provider.js.map +1 -1
  23. package/dist/esm/oauth2-provider.d.ts +5 -0
  24. package/dist/esm/oauth2-provider.js +42 -3
  25. package/dist/esm/oauth2-provider.js.map +1 -1
  26. package/dist/esm/twitter-provider.js +5 -4
  27. package/dist/esm/twitter-provider.js.map +1 -1
  28. package/dist/esm/web.js +4 -6
  29. package/dist/esm/web.js.map +1 -1
  30. package/dist/plugin.cjs.js +174 -43
  31. package/dist/plugin.cjs.js.map +1 -1
  32. package/dist/plugin.js +174 -43
  33. package/dist/plugin.js.map +1 -1
  34. package/ios/Sources/SocialLoginPlugin/SocialLoginPlugin.swift +46 -2
  35. package/package.json +1 -1
@@ -16,9 +16,13 @@ import GoogleSignIn
16
16
  */
17
17
  @objc(SocialLoginPlugin)
18
18
  public class SocialLoginPlugin: CAPPlugin, CAPBridgedPlugin {
19
- private let pluginVersion: String = "8.3.18"
19
+ private let pluginVersion: String = "8.3.20"
20
20
  public let identifier = "SocialLoginPlugin"
21
21
  public let jsName = "SocialLogin"
22
+ private static let userCancelledCode = "USER_CANCELLED"
23
+ #if canImport(GoogleSignIn)
24
+ private static let googleSignInCancelledCode = -5
25
+ #endif
22
26
  public let pluginMethods: [CAPPluginMethod] = [
23
27
  CAPPluginMethod(name: "login", returnType: CAPPluginReturnPromise),
24
28
  CAPPluginMethod(name: "logout", returnType: CAPPluginReturnPromise),
@@ -981,8 +985,48 @@ public class SocialLoginPlugin: CAPPlugin, CAPBridgedPlugin {
981
985
  call.reject("Unsupported provider response")
982
986
  }
983
987
  case .failure(let error):
984
- call.reject(error.localizedDescription)
988
+ rejectLoginError(call, error: error)
989
+ }
990
+ }
991
+ }
992
+
993
+ extension SocialLoginPlugin {
994
+ private func isUserCancelledError(_ error: Error) -> Bool {
995
+ let nsError = error as NSError
996
+ let description = nsError.localizedDescription.lowercased()
997
+
998
+ if description.contains("cancelled") || description.contains("canceled") {
999
+ return true
1000
+ }
1001
+
1002
+ if description.contains("access_denied") || description.contains("access denied") {
1003
+ return true
1004
+ }
1005
+
1006
+ if nsError.domain == ASWebAuthenticationSessionError.errorDomain && nsError.code == ASWebAuthenticationSessionError.canceledLogin.rawValue {
1007
+ return true
985
1008
  }
1009
+
1010
+ if nsError.domain == ASAuthorizationError.errorDomain && nsError.code == ASAuthorizationError.canceled.rawValue {
1011
+ return true
1012
+ }
1013
+
1014
+ if nsError.domain == "OAuth2Provider" && nsError.code == -3 {
1015
+ return true
1016
+ }
1017
+
1018
+ #if canImport(GoogleSignIn)
1019
+ if nsError.domain == kGIDSignInErrorDomain && nsError.code == SocialLoginPlugin.googleSignInCancelledCode {
1020
+ return true
1021
+ }
1022
+ #endif
1023
+
1024
+ return false
1025
+ }
1026
+
1027
+ private func rejectLoginError(_ call: CAPPluginCall, error: Error) {
1028
+ let cancelled = isUserCancelledError(error)
1029
+ call.reject(error.localizedDescription, cancelled ? SocialLoginPlugin.userCancelledCode : nil, error)
986
1030
  }
987
1031
  }
988
1032
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capgo/capacitor-social-login",
3
- "version": "8.3.18",
3
+ "version": "8.3.20",
4
4
  "description": "All social logins in one plugin",
5
5
  "main": "dist/plugin.cjs.js",
6
6
  "module": "dist/esm/index.js",