{"_id":"@capgo/capacitor-firebase-authentication","_rev":"6-ed26e4ae1c724b8655191f1cba26dc7e","name":"@capgo/capacitor-firebase-authentication","dist-tags":{"latest":"8.0.2"},"versions":{"7.4.0":{"name":"@capgo/capacitor-firebase-authentication","version":"7.4.0","keywords":["capacitor","plugin","native"],"author":{"name":"Capgo Team"},"license":"Apache-2.0","_id":"@capgo/capacitor-firebase-authentication@7.4.0","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/","bugs":{"url":"https://github.com/Cap-go/capacitor-firebase/issues"},"dist":{"shasum":"16deba13b1384ae25e6bd7f9cc916ad2f57a856e","tarball":"https://registry.npmjs.org/@capgo/capacitor-firebase-authentication/-/capacitor-firebase-authentication-7.4.0.tgz","fileCount":78,"integrity":"sha512-u8OKOVH7r2k0Yy5+DWjDJOCKqrG6yEJL8wsARodElNFU5sK1ItXO1pGaxctcM/hXhbUeOYRl19uVh2VPcSnnGw==","signatures":[{"sig":"MEQCIBLVYntth8zKLyn8KvjWZaP4ZrVQ/nKfI7cVW6bl0iUaAiB/oBzykAZXGEUv6kliBdVXn2VKreYHEB9exsufGFUYmA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":819914},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"97786da96a720a520f80ac1031a0f12063f135d7","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api FirebaseAuthenticationPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorFirebaseAuthentication -destination generic/platform=iOS","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-firebase.git","type":"git"},"_npmVersion":"11.6.2","description":"Capacitor plugin for Firebase Authentication.","directories":{},"_nodeVersion":"24.11.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.0.1","rollup":"4.30.1","firebase":"12.6.0","prettier":"3.4.2","swiftlint":"2.0.0","typescript":"4.1.5","@capacitor/cli":"7.0.0","@capacitor/ios":"7.0.0","@capacitor/core":"7.0.0","@capacitor/docgen":"0.3.0","@capacitor/android":"7.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"2.0.0"},"peerDependencies":{"firebase":"12.6.0","@capacitor/core":">=7.0.0"},"peerDependenciesMeta":{"firebase":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/capacitor-firebase-authentication_7.4.0_1763998878026_0.8280340084937521","host":"s3://npm-registry-packages-npm-production"}},"7.4.1":{"name":"@capgo/capacitor-firebase-authentication","version":"7.4.1","keywords":["capacitor","plugin","native"],"author":{"name":"Capgo Team"},"license":"Apache-2.0","_id":"@capgo/capacitor-firebase-authentication@7.4.1","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/","bugs":{"url":"https://github.com/Cap-go/capacitor-firebase/issues"},"dist":{"shasum":"60b9721ddabd858871745899faae85110bcd8011","tarball":"https://registry.npmjs.org/@capgo/capacitor-firebase-authentication/-/capacitor-firebase-authentication-7.4.1.tgz","fileCount":78,"integrity":"sha512-LDcb+X4H0oSqcxlgIk662qYL0L1/ET/YCZ/2olvgWz76vSBw6ypVqFoPE/oqFEjSWS6cXVX0lh4sH23/UVjUUg==","signatures":[{"sig":"MEQCIHvqiqAT0TBNhNGdp9QKIcbYjTyqlHVWfAdr8a6NuNp8AiBiPCDSBRKBru7qA54pROkDH0O/xmfeQl4Oy60lc5u9Lw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":818596},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"c965f5a7def32792245434af874be9775557c34d","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api FirebaseAuthenticationPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorFirebaseAuthentication -destination generic/platform=iOS","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-firebase.git","type":"git"},"_npmVersion":"11.6.2","description":"Capacitor plugin for Firebase Authentication.","directories":{},"_nodeVersion":"24.11.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.0.1","rollup":"4.30.1","firebase":"12.6.0","prettier":"3.4.2","swiftlint":"2.0.0","typescript":"4.1.5","@capacitor/cli":"7.0.0","@capacitor/ios":"7.0.0","@capacitor/core":"7.0.0","@capacitor/docgen":"0.3.0","@capacitor/android":"7.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"2.0.0"},"peerDependencies":{"firebase":"12.6.0","@capacitor/core":">=7.0.0"},"peerDependenciesMeta":{"firebase":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/capacitor-firebase-authentication_7.4.1_1763999708069_0.9556956558666891","host":"s3://npm-registry-packages-npm-production"}},"7.4.2":{"name":"@capgo/capacitor-firebase-authentication","version":"7.4.2","keywords":["capacitor","plugin","native"],"author":{"name":"Capgo Team"},"license":"MPL-2.0","_id":"@capgo/capacitor-firebase-authentication@7.4.2","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/","bugs":{"url":"https://github.com/Cap-go/capacitor-firebase/issues"},"dist":{"shasum":"511b0b495664ceb190cb3bf95d8cf9feb5f9bb6d","tarball":"https://registry.npmjs.org/@capgo/capacitor-firebase-authentication/-/capacitor-firebase-authentication-7.4.2.tgz","fileCount":78,"integrity":"sha512-UnQP6Fxb9RpveZ+QAN3GIEdOU6Pi9cXjVBSOs67i4eLIbR3J6kVE4SsGsFMoFkYVwb0l+PFYh93X0yKHrumxTA==","signatures":[{"sig":"MEYCIQD2rdrXAXg7ILS+bgplT2HTgL3T7+S0AWT2aT4hFZWC+wIhAN/j7k68gpBUn1x8sBmlsHdt2J+Eh1MUOpg5pCI+mC3s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":823978},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"325442c77ca9e7b07ab0cb9abe1637a498043e0f","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api FirebaseAuthenticationPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorFirebaseAuthentication -destination generic/platform=iOS","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-firebase.git","type":"git"},"_npmVersion":"11.6.2","description":"Capacitor plugin for Firebase Authentication.","directories":{},"_nodeVersion":"24.11.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.0.1","rollup":"4.30.1","firebase":"12.6.0","prettier":"3.4.2","swiftlint":"2.0.0","typescript":"4.1.5","@capacitor/cli":"7.0.0","@capacitor/ios":"7.0.0","@capacitor/core":"7.0.0","@capacitor/docgen":"0.3.0","@capacitor/android":"7.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"2.0.0"},"peerDependencies":{"firebase":"12.6.0","@capacitor/core":">=7.0.0"},"peerDependenciesMeta":{"firebase":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/capacitor-firebase-authentication_7.4.2_1764858679287_0.12208683677061005","host":"s3://npm-registry-packages-npm-production"}},"8.0.1":{"name":"@capgo/capacitor-firebase-authentication","version":"8.0.1","keywords":["capacitor","plugin","native"],"author":{"name":"Capgo Team"},"license":"MPL-2.0","_id":"@capgo/capacitor-firebase-authentication@8.0.1","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/","bugs":{"url":"https://github.com/Cap-go/capacitor-firebase/issues"},"dist":{"shasum":"91bd53a95ca90c77db940f8756b57d89dd33c663","tarball":"https://registry.npmjs.org/@capgo/capacitor-firebase-authentication/-/capacitor-firebase-authentication-8.0.1.tgz","fileCount":78,"integrity":"sha512-3eaYq3C3w0T04W1WnyIlShUhWEOA7yIzBVjgWZ8Spm0WBqlIunZXmH4AXXwBFQ+itZx/Osc7EBw6lJzJyL94xA==","signatures":[{"sig":"MEYCIQDfq5h+oRKtZikW6Sey2lDp91iCtuhVjEoBvCm0/+dMnAIhAJhVZGD/dVrKdFHPeWh0wVjrbbnF6vz7l7G6Dlliuwmz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":825366},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"028b0ce785ad57363abe20723812850857868aeb","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api FirebaseAuthenticationPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorFirebaseAuthentication -destination generic/platform=iOS","verify:web":"npm run build","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-firebase.git","type":"git"},"_npmVersion":"11.7.0","description":"Capacitor plugin for Firebase Authentication.","directories":{},"_nodeVersion":"24.11.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","firebase":"12.6.0","prettier":"3.4.2","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7","@ionic/swiftlint-config":"2.0.0"},"peerDependencies":{"firebase":"^12.6.0","@capacitor/core":">=8.0.0"},"peerDependenciesMeta":{"firebase":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/capacitor-firebase-authentication_8.0.1_1770552654850_0.45214951263655623","host":"s3://npm-registry-packages-npm-production"}},"8.0.2":{"name":"@capgo/capacitor-firebase-authentication","version":"8.0.2","keywords":["capacitor","plugin","native"],"author":{"name":"Capgo Team"},"license":"MPL-2.0","_id":"@capgo/capacitor-firebase-authentication@8.0.2","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/","bugs":{"url":"https://github.com/Cap-go/capacitor-firebase/issues"},"dist":{"shasum":"d5f32bb7babe26199e7cfdd7850bb2157a2a0d6e","tarball":"https://registry.npmjs.org/@capgo/capacitor-firebase-authentication/-/capacitor-firebase-authentication-8.0.2.tgz","fileCount":78,"integrity":"sha512-sUvRd46mUVHwaCPR0RlIpNKQfR58ZfXHL6m/QFzTYKVmqJFVDddOwGPQwATUQZsDMKNHHo5SStTIn9OUfSmeCQ==","signatures":[{"sig":"MEQCIF8LknA0/NjE6WJFgOHwZJvjU4ijzQEVsn1/izicsDGLAiAd4Mkxpnp8pxEC0adiV7pSs2ByRaU+vluculViTgagwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-firebase-authentication@8.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":825726},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"8e05dc485359fe7d4d7a7bac512c8aabc45cffac","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api FirebaseAuthenticationPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorFirebaseAuthentication -destination generic/platform=iOS","verify:web":"npm run build","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-firebase.git","type":"git"},"_npmVersion":"10.8.2","description":"Capacitor plugin for Firebase Authentication.","directories":{},"_nodeVersion":"20.20.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","firebase":"12.6.0","prettier":"3.4.2","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7","@ionic/swiftlint-config":"2.0.0"},"peerDependencies":{"firebase":"^12.6.0","@capacitor/core":">=8.0.0"},"peerDependenciesMeta":{"firebase":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/capacitor-firebase-authentication_8.0.2_1770563139572_0.3482763944933185","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-11-24T15:41:17.924Z","modified":"2026-08-19T10:40:45.532Z","7.4.0":"2025-11-24T15:41:18.206Z","7.4.1":"2025-11-24T15:55:08.269Z","7.4.2":"2025-12-04T14:31:19.495Z","8.0.1":"2026-02-08T12:10:55.014Z","8.0.2":"2026-02-08T15:05:39.736Z"},"bugs":{"url":"https://github.com/Cap-go/capacitor-firebase/issues"},"author":{"name":"Capgo Team"},"license":"MPL-2.0","homepage":"https://capgo.app/","keywords":["capacitor","plugin","native"],"repository":{"url":"git+https://github.com/Cap-go/capacitor-firebase.git","type":"git"},"description":"Capacitor plugin for Firebase Authentication.","maintainers":[{"email":"martin.donadieu@hey.com","name":"riderx"},{"email":"tori@capgo.app","name":"torichancapgo"}],"readme":"# @capgo/capacitor-firebase-authentication\n <a href=\"https://capgo.app/\"><img src='https://raw.githubusercontent.com/Cap-go/capgo/main/assets/capgo_banner.png' alt='Capgo - Instant updates for capacitor'/></a>\n\n<div align=\"center\">\n  <h2><a href=\"https://capgo.app/?ref=plugin\"> ➡️ Get Instant updates for your App with Capgo</a></h2>\n  <h2><a href=\"https://capgo.app/consulting/?ref=plugin\"> Missing a feature? We'll build the plugin for you 💪</a></h2>\n</div>\n\nUnofficial Capacitor plugin for [Firebase Authentication](https://firebase.google.com/docs/auth).[^1]\n\n\n## Compatibility\n\n| Plugin Version | Capacitor Version | Status         |\n| -------------- | ----------------- | -------------- |\n| 8.x.x          | >=8.x.x           | Active support |\n| 7.x.x          | 7.x.x             | Deprecated     |\n| 6.x.x          | 6.x.x             | Deprecated     |\n| 5.x.x          | 5.x.x             | Deprecated     |\n| 1.x.x          | 4.x.x             | Deprecated     |\n\n## Installation\n\n```bash\nnpm install @capgo/capacitor-firebase-authentication firebase\nnpx cap sync\n```\n\nAdd Firebase to your project if you haven't already ([Android](https://github.com/cap-go/capacitor-firebase/blob/main/docs/firebase-setup.md#android) / [iOS](https://github.com/cap-go/capacitor-firebase/blob/main/docs/firebase-setup.md#ios) / [Web](https://github.com/cap-go/capacitor-firebase/blob/main/docs/firebase-setup.md#web)).\n\nOn **iOS**, verify that this function is included in your app's `AppDelegate.swift`:\n\n```swift\nfunc application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {\n  return ApplicationDelegateProxy.shared.application(app, open: url, options: options)\n}\n```\n\n**Attention**: If you use this plugin on **iOS** in combination with `@capgo/capacitor-firebase-messaging`, then add the following to your app's `AppDelegate.swift`:\n\n```diff\n+ import FirebaseAuth\n\nfunc application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {\n+    if Auth.auth().canHandle(url) {\n+      return true\n+    }\n    return ApplicationDelegateProxy.shared.application(app, open: url, options: options)\n}\n```\n\nThe further installation steps depend on the selected authentication method:\n\n- [Apple Sign-In](https://github.com/cap-go/capacitor-firebase/blob/main/packages/authentication/docs/setup-apple.md)\n- [Facebook Sign-In](https://github.com/cap-go/capacitor-firebase/blob/main/packages/authentication/docs/setup-facebook.md)\n- [Game Center Sign-In](https://github.com/cap-go/capacitor-firebase/blob/main/packages/authentication/docs/setup-game-center.md)\n- [GitHub Sign-In](https://github.com/cap-go/capacitor-firebase/blob/main/packages/authentication/docs/setup-github.md)\n- [Google Sign-In](https://github.com/cap-go/capacitor-firebase/blob/main/packages/authentication/docs/setup-google.md)\n- [Microsoft Sign-In](https://github.com/cap-go/capacitor-firebase/blob/main/packages/authentication/docs/setup-microsoft.md)\n- [OpenID Connect Sign-In](https://github.com/cap-go/capacitor-firebase/blob/main/packages/authentication/docs/setup-oidc.md)\n- [Play Games Sign-In](https://github.com/cap-go/capacitor-firebase/blob/main/packages/authentication/docs/setup-play-games.md)\n- [Twitter Sign-In](https://github.com/cap-go/capacitor-firebase/blob/main/packages/authentication/docs/setup-twitter.md)\n- [Yahoo Sign-In](https://github.com/cap-go/capacitor-firebase/blob/main/packages/authentication/docs/setup-yahoo.md)\n\n- [Anonymous Sign-In](https://github.com/cap-go/capacitor-firebase/blob/main/packages/authentication/docs/setup-anonymous.md)\n- [Email Link Sign-In](https://github.com/cap-go/capacitor-firebase/blob/main/packages/authentication/docs/setup-email-link.md)\n- [Phone Number Sign-In](https://github.com/cap-go/capacitor-firebase/blob/main/packages/authentication/docs/setup-phone.md)\n- [Custom Token Sign-In](https://github.com/cap-go/capacitor-firebase/blob/main/packages/authentication/docs/setup-custom-token.md)\n\n**Attention**: Please note that this plugin uses third-party SDKs to offer native sign-in.\nThese SDKs can initialize on their own and collect various data.\nFor more information, see [Third-Party SDKs](https://github.com/cap-go/capacitor-firebase/blob/main/packages/authentication/docs/third-party-sdks.md).\n\n## Configuration\n\n<docgen-config>\n<!--Update the source file JSDoc comments and rerun docgen to update the docs below-->\n\nThese configuration values are available:\n\n| Prop                 | Type                  | Description                                                                                                                                                                                                                                                                                                    | Default            | Since |\n| -------------------- | --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ | ----- |\n| **`authDomain`**     | <code>string</code>   | Configure the custom auth domain you want to use. Only available for Android and iOS.                                                                                                                                                                                                                          |                    | 7.3.0 |\n| **`skipNativeAuth`** | <code>boolean</code>  | Configure whether the plugin should skip the native authentication. Only needed if you want to use the Firebase JavaScript SDK. This configuration option has no effect on Firebase account linking. **Note that the plugin may behave differently across the platforms.** Only available for Android and iOS. | <code>false</code> | 0.1.0 |\n| **`providers`**      | <code>string[]</code> | Configure the providers that should be loaded by the plugin. Possible values: `[\"apple.com\", \"facebook.com\", \"gc.apple.com\", \"github.com\", \"google.com\", \"microsoft.com\", \"playgames.google.com\", \"twitter.com\", \"yahoo.com\", \"phone\"]` Only available for Android and iOS.                                    | <code>[]</code>    | 0.1.0 |\n\n### Examples\n\nIn `capacitor.config.json`:\n\n```json\n{\n  \"plugins\": {\n    \"FirebaseAuthentication\": {\n      \"authDomain\": undefined,\n      \"skipNativeAuth\": false,\n      \"providers\": [\"apple.com\", \"facebook.com\"]\n    }\n  }\n}\n```\n\nIn `capacitor.config.ts`:\n\n```ts\n/// <reference types=\"@capgo/capacitor-firebase-authentication\" />\n\nimport { CapacitorConfig } from '@capacitor/cli';\n\nconst config: CapacitorConfig = {\n  plugins: {\n    FirebaseAuthentication: {\n      authDomain: undefined,\n      skipNativeAuth: false,\n      providers: [\"apple.com\", \"facebook.com\"],\n    },\n  },\n};\n\nexport default config;\n```\n\n</docgen-config>\n\n## FAQ\n\n1. **What does this plugin do?**  \n   This plugin enables the use of [Firebase Authentication](https://firebase.google.com/docs/auth) in a Capacitor app.\n   It uses the Firebase SDK for [Java](https://firebase.google.com/docs/reference/android) (Android), [Swift](https://firebase.google.com/docs/reference/swift) (iOS) and [JavaScript](https://firebase.google.com/docs/reference/js).\n1. **What is the difference between the web implementation of this plugin and the Firebase JS SDK?**  \n   The web implementation of this plugin encapsulates the Firebase JS SDK and enables a consistent interface across all platforms.\n   You can decide if you prefer to use the web implementation or the Firebase JS SDK.\n1. **What is the difference between the native and web authentication?**  \n   For web authentication, the Firebase JS SDK is used. This only works to a limited extent on Android and iOS in the WebViews (see [here](https://developers.googleblog.com/2016/08/modernizing-oauth-interactions-in-native-apps.html)).\n   For native authentication, the native SDKs from Firebase, Google, etc. are used.\n   These offer all the functionalities that the Firebase JS SDK also offers on the web.\n   However, after a login with the native SDK, the user is only logged in on the native layer of the app.\n   If the user should also be logged in on the web layer (for example to access Cloud Firestore via Firebase JS SDK), additional steps are required (see [here](https://github.com/cap-go/capacitor-firebase/blob/main/packages/authentication/docs/firebase-js-sdk.md)).\n1. **How can I use this plugin with the Firebase JavaScript SDK?**  \n   See [here](https://github.com/cap-go/capacitor-firebase/blob/main/packages/authentication/docs/firebase-js-sdk.md).\n\n## Firebase JavaScript SDK\n\n[Here](https://github.com/cap-go/capacitor-firebase/blob/main/packages/authentication/docs/firebase-js-sdk.md) you can find information on how to use the plugin with the Firebase JS SDK.\n\n## Demo\n\nA working example can be found here: [robingenz/capacitor-firebase-authentication-demo](https://github.com/robingenz/capacitor-firebase-authentication-demo)\n\n## Starter templates\n\nThe following starter templates are available:\n\n- [Ionstarter Angular Firebase](https://ionstarter.dev/)\n\n## Usage\n\n```typescript\nimport { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';\n\nconst applyActionCode = async () => {\n  await FirebaseAuthentication.applyActionCode({ oobCode: '1234' });\n};\n\nconst createUserWithEmailAndPassword = async () => {\n  const result = await FirebaseAuthentication.createUserWithEmailAndPassword({\n    email: 'mail@exmaple.com',\n    password: '1234',\n  });\n  return result.user;\n};\n\nconst confirmPasswordReset = async () => {\n  await FirebaseAuthentication.confirmPasswordReset({\n    oobCode: '1234',\n    newPassword: '4321',\n  });\n};\n\nconst deleteUser = async () => {\n  await FirebaseAuthentication.deleteUser();\n};\n\nconst fetchSignInMethodsForEmail = async () => {\n  const result = await FirebaseAuthentication.fetchSignInMethodsForEmail({\n    email: 'mail@example.tld',\n  });\n  return result.signInMethods;\n};\n\nconst getCurrentUser = async () => {\n  const result = await FirebaseAuthentication.getCurrentUser();\n  return result.user;\n};\n\nconst getPendingAuthResult = async () => {\n  const result = await FirebaseAuthentication.getPendingAuthResult();\n  return result.user;\n};\n\nconst getIdToken = async () => {\n  const currentUser = await getCurrentUser();\n  if (!currentUser) {\n    return;\n  }\n  const result = await FirebaseAuthentication.getIdToken();\n  return result.token;\n};\n\nconst getPendingAuthResult = async () => {\n  const result = await FirebaseAuthentication.getPendingAuthResult();\n  return result.user;\n};\n\nconst sendEmailVerification = async () => {\n  const currentUser = await getCurrentUser();\n  if (!currentUser) {\n    return;\n  }\n  await FirebaseAuthentication.sendEmailVerification();\n};\n\nconst sendPasswordResetEmail = async () => {\n  await FirebaseAuthentication.sendPasswordResetEmail({\n    email: 'mail@example.com',\n  });\n};\n\nconst sendSignInLinkToEmail = async () => {\n  const email = 'mail@example.com';\n  await FirebaseAuthentication.sendSignInLinkToEmail({\n    email,\n    actionCodeSettings: {\n      // URL you want to redirect back to. The domain (www.example.com) for this\n      // URL must be in the authorized domains list in the Firebase Console.\n      url: 'https://www.example.com/finishSignUp?cartId=1234',\n      // This must be true.\n      handleCodeInApp: true,\n      iOS: {\n        bundleId: 'com.example.ios',\n      },\n      android: {\n        packageName: 'com.example.android',\n        installApp: true,\n        minimumVersion: '12',\n      },\n      dynamicLinkDomain: 'example.page.link',\n    },\n  });\n  // The link was successfully sent. Inform the user.\n  // Save the email locally so you don't need to ask the user for it again\n  // if they open the link on the same device.\n  window.localStorage.setItem('emailForSignIn', email);\n};\n\nconst setLanguageCode = async () => {\n  await FirebaseAuthentication.setLanguageCode({ languageCode: 'en-US' });\n};\n\nconst signInAnonymously = async () => {\n  const result = await FirebaseAuthentication.signInAnonymously();\n  return result.user;\n};\n\nconst signInWithApple = async () => {\n  const result = await FirebaseAuthentication.signInWithApple();\n  return result.user;\n};\n\nconst signInWithCustomToken = async () => {\n  const result = await FirebaseAuthentication.signInWithCustomToken({\n    token: '1234',\n  });\n  return result.user;\n};\n\nconst signInWithEmailAndPassword = async () => {\n  const result = await FirebaseAuthentication.signInWithEmailAndPassword({\n    email: 'mail@example.com',\n    password: '1234',\n  });\n  return result.user;\n};\n\nconst signInWithEmailLink = async () => {\n  // Get the email if available. This should be available if the user completes\n  // the flow on the same device where they started it.\n  const emailLink = window.location.href;\n  // Confirm the link is a sign-in with email link.\n  const { isSignInWithEmailLink } =\n    await FirebaseAuthentication.isSignInWithEmailLink({\n      emailLink,\n    });\n  if (!isSignInWithEmailLink) {\n    return;\n  }\n  let email = window.localStorage.getItem('emailForSignIn');\n  if (!email) {\n    // User opened the link on a different device. To prevent session fixation\n    // attacks, ask the user to provide the associated email again.\n    email = window.prompt('Please provide your email for confirmation.');\n  }\n  // The client SDK will parse the code from the link for you.\n  const result = await FirebaseAuthentication.signInWithEmailLink({\n    email,\n    emailLink,\n  });\n  // Clear email from storage.\n  window.localStorage.removeItem('emailForSignIn');\n  return result.user;\n};\n\nconst signInWithFacebook = async () => {\n  const result = await FirebaseAuthentication.signInWithFacebook();\n  return result.user;\n};\n\nconst signInWithGameCenter = async () => {\n  const result = await FirebaseAuthentication.signInWithGameCenter();\n  return result.user;\n};\n\nconst signInWithGithub = async () => {\n  const result = await FirebaseAuthentication.signInWithGithub();\n  return result.user;\n};\n\nconst signInWithGoogle = async () => {\n  const result = await FirebaseAuthentication.signInWithGoogle();\n  return result.user;\n};\n\nconst signInWithMicrosoft = async () => {\n  const result = await FirebaseAuthentication.signInWithMicrosoft();\n  return result.user;\n};\n\nconst signInWithOpenIdConnect = async () => {\n  const result = await FirebaseAuthentication.signInWithOpenIdConnect({\n    providerId: 'oidc.example.com',\n  });\n  return result.user;\n};\n\nconst signInWithPlayGames = async () => {\n  const result = await FirebaseAuthentication.signInWithPlayGames();\n  return result.user;\n};\n\nconst signInWithPhoneNumber = async () => {\n  return new Promise(async resolve => {\n    // Attach `phoneCodeSent` listener to be notified as soon as the SMS is sent\n    await FirebaseAuthentication.addListener('phoneCodeSent', async event => {\n      // Ask the user for the SMS code\n      const verificationCode = window.prompt(\n        'Please enter the verification code that was sent to your mobile device.',\n      );\n      // Confirm the verification code\n      const result = await FirebaseAuthentication.confirmVerificationCode({\n        verificationId: event.verificationId,\n        verificationCode,\n      });\n      resolve(result.user);\n    });\n    // Attach `phoneVerificationCompleted` listener to be notified if phone verification could be finished automatically\n    await FirebaseAuthentication.addListener(\n      'phoneVerificationCompleted',\n      async event => {\n        resolve(event.result.user);\n      },\n    );\n    // Start sign in with phone number and send the SMS\n    await FirebaseAuthentication.signInWithPhoneNumber({\n      phoneNumber: '123456789',\n    });\n  });\n};\n\nconst signInWithTwitter = async () => {\n  const result = await FirebaseAuthentication.signInWithTwitter();\n  return result.user;\n};\n\nconst signInWithYahoo = async () => {\n  const result = await FirebaseAuthentication.signInWithYahoo();\n  return result.user;\n};\n\nconst signOut = async () => {\n  await FirebaseAuthentication.signOut();\n};\n\nconst updateEmail = async () => {\n  const currentUser = await getCurrentUser();\n  if (!currentUser) {\n    return;\n  }\n  await FirebaseAuthentication.updateEmail({\n    newEmail: 'new.mail@example.com',\n  });\n};\n\nconst updatePassword = async () => {\n  const currentUser = await getCurrentUser();\n  if (!currentUser) {\n    return;\n  }\n  await FirebaseAuthentication.updatePassword({\n    newPassword: '4321',\n  });\n};\n\nconst useAppLanguage = async () => {\n  await FirebaseAuthentication.useAppLanguage();\n};\n\nconst useEmulator = async () => {\n  await FirebaseAuthentication.useEmulator({\n    host: '10.0.2.2',\n    port: 9099,\n  });\n};\n\nconst verifyBeforeUpdateEmail = async () => {\n  const currentUser = await getCurrentUser();\n  if (!currentUser) {\n    return;\n  }\n  await FirebaseAuthentication.verifyBeforeUpdateEmail({\n    newEmail: 'new.mail@example.com',\n    actionCodeSettings: {\n      url: 'https://www.example.com/cart?email=user@example.com&cartId=123',\n      iOS: {\n        bundleId: 'com.example.ios'\n      },\n      android: {\n        packageName: 'com.example.android',\n        installApp: true,\n        minimumVersion: '12'\n      },\n      handleCodeInApp: true\n    }\n  });\n};\n```\n\n## API\n\n<docgen-index>\n\n* [`applyActionCode(...)`](#applyactioncode)\n* [`confirmPasswordReset(...)`](#confirmpasswordreset)\n* [`confirmVerificationCode(...)`](#confirmverificationcode)\n* [`createUserWithEmailAndPassword(...)`](#createuserwithemailandpassword)\n* [`deleteUser()`](#deleteuser)\n* [`fetchSignInMethodsForEmail(...)`](#fetchsigninmethodsforemail)\n* [`getCurrentUser()`](#getcurrentuser)\n* [`getPendingAuthResult()`](#getpendingauthresult)\n* [`getIdToken(...)`](#getidtoken)\n* [`getIdTokenResult(...)`](#getidtokenresult)\n* [`getRedirectResult()`](#getredirectresult)\n* [`getTenantId()`](#gettenantid)\n* [`isSignInWithEmailLink(...)`](#issigninwithemaillink)\n* [`linkWithApple(...)`](#linkwithapple)\n* [`linkWithEmailAndPassword(...)`](#linkwithemailandpassword)\n* [`linkWithEmailLink(...)`](#linkwithemaillink)\n* [`linkWithFacebook(...)`](#linkwithfacebook)\n* [`linkWithGameCenter(...)`](#linkwithgamecenter)\n* [`linkWithGithub(...)`](#linkwithgithub)\n* [`linkWithGoogle(...)`](#linkwithgoogle)\n* [`linkWithMicrosoft(...)`](#linkwithmicrosoft)\n* [`linkWithOpenIdConnect(...)`](#linkwithopenidconnect)\n* [`linkWithPhoneNumber(...)`](#linkwithphonenumber)\n* [`linkWithPlayGames(...)`](#linkwithplaygames)\n* [`linkWithTwitter(...)`](#linkwithtwitter)\n* [`linkWithYahoo(...)`](#linkwithyahoo)\n* [`reload()`](#reload)\n* [`revokeAccessToken(...)`](#revokeaccesstoken)\n* [`sendEmailVerification(...)`](#sendemailverification)\n* [`sendPasswordResetEmail(...)`](#sendpasswordresetemail)\n* [`sendSignInLinkToEmail(...)`](#sendsigninlinktoemail)\n* [`setLanguageCode(...)`](#setlanguagecode)\n* [`setPersistence(...)`](#setpersistence)\n* [`setTenantId(...)`](#settenantid)\n* [`signInAnonymously()`](#signinanonymously)\n* [`signInWithApple(...)`](#signinwithapple)\n* [`signInWithCustomToken(...)`](#signinwithcustomtoken)\n* [`signInWithEmailAndPassword(...)`](#signinwithemailandpassword)\n* [`signInWithEmailLink(...)`](#signinwithemaillink)\n* [`signInWithFacebook(...)`](#signinwithfacebook)\n* [`signInWithGameCenter(...)`](#signinwithgamecenter)\n* [`signInWithGithub(...)`](#signinwithgithub)\n* [`signInWithGoogle(...)`](#signinwithgoogle)\n* [`signInWithMicrosoft(...)`](#signinwithmicrosoft)\n* [`signInWithOpenIdConnect(...)`](#signinwithopenidconnect)\n* [`signInWithPhoneNumber(...)`](#signinwithphonenumber)\n* [`signInWithPlayGames(...)`](#signinwithplaygames)\n* [`signInWithTwitter(...)`](#signinwithtwitter)\n* [`signInWithYahoo(...)`](#signinwithyahoo)\n* [`signOut()`](#signout)\n* [`unlink(...)`](#unlink)\n* [`updateEmail(...)`](#updateemail)\n* [`updatePassword(...)`](#updatepassword)\n* [`updateProfile(...)`](#updateprofile)\n* [`useAppLanguage()`](#useapplanguage)\n* [`useEmulator(...)`](#useemulator)\n* [`verifyBeforeUpdateEmail(...)`](#verifybeforeupdateemail)\n* [`checkAppTrackingTransparencyPermission()`](#checkapptrackingtransparencypermission)\n* [`requestAppTrackingTransparencyPermission()`](#requestapptrackingtransparencypermission)\n* [`addListener('authStateChange', ...)`](#addlistenerauthstatechange-)\n* [`addListener('idTokenChange', ...)`](#addlisteneridtokenchange-)\n* [`addListener('phoneVerificationCompleted', ...)`](#addlistenerphoneverificationcompleted-)\n* [`addListener('phoneVerificationFailed', ...)`](#addlistenerphoneverificationfailed-)\n* [`addListener('phoneCodeSent', ...)`](#addlistenerphonecodesent-)\n* [`removeAllListeners()`](#removealllisteners)\n* [Interfaces](#interfaces)\n* [Type Aliases](#type-aliases)\n* [Enums](#enums)\n\n</docgen-index>\n\n<docgen-api>\n<!--Update the source file JSDoc comments and rerun docgen to update the docs below-->\n\n### applyActionCode(...)\n\n```typescript\napplyActionCode(options: ApplyActionCodeOptions) => Promise<void>\n```\n\nApplies a verification code sent to the user by email.\n\n| Param         | Type                                                                      |\n| ------------- | ------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#applyactioncodeoptions\">ApplyActionCodeOptions</a></code> |\n\n**Since:** 0.2.2\n\n--------------------\n\n\n### confirmPasswordReset(...)\n\n```typescript\nconfirmPasswordReset(options: ConfirmPasswordResetOptions) => Promise<void>\n```\n\nCompletes the password reset process.\n\n| Param         | Type                                                                                |\n| ------------- | ----------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#confirmpasswordresetoptions\">ConfirmPasswordResetOptions</a></code> |\n\n**Since:** 0.2.2\n\n--------------------\n\n\n### confirmVerificationCode(...)\n\n```typescript\nconfirmVerificationCode(options: ConfirmVerificationCodeOptions) => Promise<SignInResult>\n```\n\nFinishes the phone number verification process.\n\n| Param         | Type                                                                                      |\n| ------------- | ----------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#confirmverificationcodeoptions\">ConfirmVerificationCodeOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 5.0.0\n\n--------------------\n\n\n### createUserWithEmailAndPassword(...)\n\n```typescript\ncreateUserWithEmailAndPassword(options: CreateUserWithEmailAndPasswordOptions) => Promise<SignInResult>\n```\n\nCreates a new user account with email and password.\nIf the new account was created, the user is signed in automatically.\n\n| Param         | Type                                                                                                    |\n| ------------- | ------------------------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#createuserwithemailandpasswordoptions\">CreateUserWithEmailAndPasswordOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 0.2.2\n\n--------------------\n\n\n### deleteUser()\n\n```typescript\ndeleteUser() => Promise<void>\n```\n\nDeletes and signs out the user.\n\n**Since:** 1.3.0\n\n--------------------\n\n\n### fetchSignInMethodsForEmail(...)\n\n```typescript\nfetchSignInMethodsForEmail(options: FetchSignInMethodsForEmailOptions) => Promise<FetchSignInMethodsForEmailResult>\n```\n\nFetches the sign-in methods for an email address.\n\n| Param         | Type                                                                                            |\n| ------------- | ----------------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#fetchsigninmethodsforemailoptions\">FetchSignInMethodsForEmailOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#fetchsigninmethodsforemailresult\">FetchSignInMethodsForEmailResult</a>&gt;</code>\n\n**Since:** 6.0.0\n\n--------------------\n\n\n### getCurrentUser()\n\n```typescript\ngetCurrentUser() => Promise<GetCurrentUserResult>\n```\n\nFetches the currently signed-in user.\n\n**Returns:** <code>Promise&lt;<a href=\"#getcurrentuserresult\">GetCurrentUserResult</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### getPendingAuthResult()\n\n```typescript\ngetPendingAuthResult() => Promise<SignInResult>\n```\n\nReturns the <a href=\"#signinresult\">`SignInResult`</a> if your app launched a web sign-in flow and the OS cleans up the app while in the background.\n\nOnly available for Android.\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 6.0.0\n\n--------------------\n\n\n### getIdToken(...)\n\n```typescript\ngetIdToken(options?: GetIdTokenOptions | undefined) => Promise<GetIdTokenResult>\n```\n\nFetches the Firebase Auth ID Token for the currently signed-in user.\n\n| Param         | Type                                                            |\n| ------------- | --------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#getidtokenoptions\">GetIdTokenOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#getidtokenresult\">GetIdTokenResult</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### getIdTokenResult(...)\n\n```typescript\ngetIdTokenResult(options?: GetIdTokenResultOptions | undefined) => Promise<GetIdTokenResultResult>\n```\n\nReturns a deserialized JSON Web Token (JWT) used to identify the user to a Firebase service.\n\n| Param         | Type                                                                        |\n| ------------- | --------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#getidtokenresultoptions\">GetIdTokenResultOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#getidtokenresultresult\">GetIdTokenResultResult</a>&gt;</code>\n\n**Since:** 7.4.0\n\n--------------------\n\n\n### getRedirectResult()\n\n```typescript\ngetRedirectResult() => Promise<SignInResult>\n```\n\nReturns the <a href=\"#signinresult\">`SignInResult`</a> from the redirect-based sign-in flow.\n\nIf sign-in was unsuccessful, fails with an error.\nIf no redirect operation was called, returns a <a href=\"#signinresult\">`SignInResult`</a> with a null user.\n\nOnly available for Web.\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 1.3.0\n\n--------------------\n\n\n### getTenantId()\n\n```typescript\ngetTenantId() => Promise<GetTenantIdResult>\n```\n\nGet the tenant id.\n\n**Returns:** <code>Promise&lt;<a href=\"#gettenantidresult\">GetTenantIdResult</a>&gt;</code>\n\n**Since:** 1.1.0\n\n--------------------\n\n\n### isSignInWithEmailLink(...)\n\n```typescript\nisSignInWithEmailLink(options: IsSignInWithEmailLinkOptions) => Promise<IsSignInWithEmailLinkResult>\n```\n\nChecks if an incoming link is a sign-in with email link suitable for `signInWithEmailLink`.\n\n| Param         | Type                                                                                  |\n| ------------- | ------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#issigninwithemaillinkoptions\">IsSignInWithEmailLinkOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#issigninwithemaillinkresult\">IsSignInWithEmailLinkResult</a>&gt;</code>\n\n**Since:** 1.1.0\n\n--------------------\n\n\n### linkWithApple(...)\n\n```typescript\nlinkWithApple(options?: SignInWithOAuthOptions | undefined) => Promise<LinkResult>\n```\n\nLinks the user account with Apple authentication provider.\n\nThe user must be logged in on the native layer.\nThe `skipNativeAuth` configuration option has no effect here.\n\n| Param         | Type                                                                      |\n| ------------- | ------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithoauthoptions\">SignInWithOAuthOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 1.1.0\n\n--------------------\n\n\n### linkWithEmailAndPassword(...)\n\n```typescript\nlinkWithEmailAndPassword(options: LinkWithEmailAndPasswordOptions) => Promise<LinkResult>\n```\n\nLinks the user account with Email authentication provider.\n\nThe user must be logged in on the native layer.\nThe `skipNativeAuth` configuration option has no effect here.\n\n| Param         | Type                                                                                        |\n| ------------- | ------------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#linkwithemailandpasswordoptions\">LinkWithEmailAndPasswordOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 1.1.0\n\n--------------------\n\n\n### linkWithEmailLink(...)\n\n```typescript\nlinkWithEmailLink(options: LinkWithEmailLinkOptions) => Promise<LinkResult>\n```\n\nLinks the user account with Email authentication provider.\n\nThe user must be logged in on the native layer.\nThe `skipNativeAuth` configuration option has no effect here.\n\n| Param         | Type                                                                          |\n| ------------- | ----------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#linkwithemaillinkoptions\">LinkWithEmailLinkOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 1.1.0\n\n--------------------\n\n\n### linkWithFacebook(...)\n\n```typescript\nlinkWithFacebook(options?: SignInWithOAuthOptions | undefined) => Promise<LinkResult>\n```\n\nLinks the user account with Facebook authentication provider.\n\nThe user must be logged in on the native layer.\nThe `skipNativeAuth` configuration option has no effect here.\n\n| Param         | Type                                                                      |\n| ------------- | ------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithoauthoptions\">SignInWithOAuthOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 1.1.0\n\n--------------------\n\n\n### linkWithGameCenter(...)\n\n```typescript\nlinkWithGameCenter(options?: SignInWithOAuthOptions | undefined) => Promise<LinkResult>\n```\n\nLinks the user account with Game Center authentication provider.\n\nThe user must be logged in on the native layer.\nThe `skipNativeAuth` configuration option has no effect here.\n\nOnly available for iOS.\n\n| Param         | Type                                                                      |\n| ------------- | ------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithoauthoptions\">SignInWithOAuthOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 1.3.0\n\n--------------------\n\n\n### linkWithGithub(...)\n\n```typescript\nlinkWithGithub(options?: SignInWithOAuthOptions | undefined) => Promise<LinkResult>\n```\n\nLinks the user account with GitHub authentication provider.\n\nThe user must be logged in on the native layer.\nThe `skipNativeAuth` configuration option has no effect here.\n\n| Param         | Type                                                                      |\n| ------------- | ------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithoauthoptions\">SignInWithOAuthOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 1.1.0\n\n--------------------\n\n\n### linkWithGoogle(...)\n\n```typescript\nlinkWithGoogle(options?: SignInWithOAuthOptions | undefined) => Promise<LinkResult>\n```\n\nLinks the user account with Google authentication provider.\n\nThe user must be logged in on the native layer.\nThe `skipNativeAuth` configuration option has no effect here.\n\n| Param         | Type                                                                      |\n| ------------- | ------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithoauthoptions\">SignInWithOAuthOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 1.1.0\n\n--------------------\n\n\n### linkWithMicrosoft(...)\n\n```typescript\nlinkWithMicrosoft(options?: SignInWithOAuthOptions | undefined) => Promise<LinkResult>\n```\n\nLinks the user account with Microsoft authentication provider.\n\nThe user must be logged in on the native layer.\nThe `skipNativeAuth` configuration option has no effect here.\n\n| Param         | Type                                                                      |\n| ------------- | ------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithoauthoptions\">SignInWithOAuthOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 1.1.0\n\n--------------------\n\n\n### linkWithOpenIdConnect(...)\n\n```typescript\nlinkWithOpenIdConnect(options: LinkWithOpenIdConnectOptions) => Promise<LinkResult>\n```\n\nLinks the user account with an OpenID Connect provider.\n\n| Param         | Type                                                                                      |\n| ------------- | ----------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithopenidconnectoptions\">SignInWithOpenIdConnectOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 6.1.0\n\n--------------------\n\n\n### linkWithPhoneNumber(...)\n\n```typescript\nlinkWithPhoneNumber(options: LinkWithPhoneNumberOptions) => Promise<void>\n```\n\nLinks the user account with Phone Number authentication provider.\n\nThe user must be logged in on the native layer.\nThe `skipNativeAuth` configuration option has no effect here.\n\nUse the `phoneVerificationCompleted` listener to be notified when the verification is completed.\nUse the `phoneVerificationFailed` listener to be notified when the verification is failed.\nUse the `phoneCodeSent` listener to get the verification id.\n\n| Param         | Type                                                                                  |\n| ------------- | ------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithphonenumberoptions\">SignInWithPhoneNumberOptions</a></code> |\n\n**Since:** 1.1.0\n\n--------------------\n\n\n### linkWithPlayGames(...)\n\n```typescript\nlinkWithPlayGames(options?: SignInWithOAuthOptions | undefined) => Promise<LinkResult>\n```\n\nLinks the user account with Play Games authentication provider.\n\nThe user must be logged in on the native layer.\nThe `skipNativeAuth` configuration option has no effect here.\n\nOnly available for Android.\n\n| Param         | Type                                                                      |\n| ------------- | ------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithoauthoptions\">SignInWithOAuthOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 1.1.0\n\n--------------------\n\n\n### linkWithTwitter(...)\n\n```typescript\nlinkWithTwitter(options?: SignInWithOAuthOptions | undefined) => Promise<LinkResult>\n```\n\nLinks the user account with Twitter authentication provider.\n\nThe user must be logged in on the native layer.\nThe `skipNativeAuth` configuration option has no effect here.\n\n| Param         | Type                                                                      |\n| ------------- | ------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithoauthoptions\">SignInWithOAuthOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 1.1.0\n\n--------------------\n\n\n### linkWithYahoo(...)\n\n```typescript\nlinkWithYahoo(options?: SignInWithOAuthOptions | undefined) => Promise<LinkResult>\n```\n\nLinks the user account with Yahoo authentication provider.\n\nThe user must be logged in on the native layer.\nThe `skipNativeAuth` configuration option has no effect here.\n\n| Param         | Type                                                                      |\n| ------------- | ------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithoauthoptions\">SignInWithOAuthOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 1.1.0\n\n--------------------\n\n\n### reload()\n\n```typescript\nreload() => Promise<void>\n```\n\nReloads user account data, if signed in.\n\n**Since:** 1.3.0\n\n--------------------\n\n\n### revokeAccessToken(...)\n\n```typescript\nrevokeAccessToken(options: RevokeAccessTokenOptions) => Promise<void>\n```\n\nRevokes the given access token. Currently only supports Apple OAuth access tokens.\n\n| Param         | Type                                                                          |\n| ------------- | ----------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#revokeaccesstokenoptions\">RevokeAccessTokenOptions</a></code> |\n\n**Since:** 6.1.0\n\n--------------------\n\n\n### sendEmailVerification(...)\n\n```typescript\nsendEmailVerification(options?: SendEmailVerificationOptions | undefined) => Promise<void>\n```\n\nSends a verification email to the currently signed in user.\n\n| Param         | Type                                                                                  |\n| ------------- | ------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#sendemailverificationoptions\">SendEmailVerificationOptions</a></code> |\n\n**Since:** 0.2.2\n\n--------------------\n\n\n### sendPasswordResetEmail(...)\n\n```typescript\nsendPasswordResetEmail(options: SendPasswordResetEmailOptions) => Promise<void>\n```\n\nSends a password reset email.\n\n| Param         | Type                                                                                    |\n| ------------- | --------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#sendpasswordresetemailoptions\">SendPasswordResetEmailOptions</a></code> |\n\n**Since:** 0.2.2\n\n--------------------\n\n\n### sendSignInLinkToEmail(...)\n\n```typescript\nsendSignInLinkToEmail(options: SendSignInLinkToEmailOptions) => Promise<void>\n```\n\nSends a sign-in email link to the user with the specified email.\n\nTo complete sign in with the email link, call `signInWithEmailLink` with the email address and the email link supplied in the email sent to the user.\n\n| Param         | Type                                                                                  |\n| ------------- | ------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#sendsigninlinktoemailoptions\">SendSignInLinkToEmailOptions</a></code> |\n\n**Since:** 1.1.0\n\n--------------------\n\n\n### setLanguageCode(...)\n\n```typescript\nsetLanguageCode(options: SetLanguageCodeOptions) => Promise<void>\n```\n\nSets the user-facing language code for auth operations.\n\n| Param         | Type                                                                      |\n| ------------- | ------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#setlanguagecodeoptions\">SetLanguageCodeOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### setPersistence(...)\n\n```typescript\nsetPersistence(options: SetPersistenceOptions) => Promise<void>\n```\n\nSets the type of persistence for the currently saved auth session.\n\nOnly available for Web.\n\n| Param         | Type                                                                    |\n| ------------- | ----------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#setpersistenceoptions\">SetPersistenceOptions</a></code> |\n\n**Since:** 5.2.0\n\n--------------------\n\n\n### setTenantId(...)\n\n```typescript\nsetTenantId(options: SetTenantIdOptions) => Promise<void>\n```\n\nSets the tenant id.\n\n| Param         | Type                                                              |\n| ------------- | ----------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#settenantidoptions\">SetTenantIdOptions</a></code> |\n\n**Since:** 1.1.0\n\n--------------------\n\n\n### signInAnonymously()\n\n```typescript\nsignInAnonymously() => Promise<SignInResult>\n```\n\nSigns in as an anonymous user.\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 1.1.0\n\n--------------------\n\n\n### signInWithApple(...)\n\n```typescript\nsignInWithApple(options?: SignInWithOAuthOptions | undefined) => Promise<SignInResult>\n```\n\nStarts the Apple sign-in flow.\n\n| Param         | Type                                                                      |\n| ------------- | ------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithoauthoptions\">SignInWithOAuthOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### signInWithCustomToken(...)\n\n```typescript\nsignInWithCustomToken(options: SignInWithCustomTokenOptions) => Promise<SignInResult>\n```\n\nStarts the Custom Token sign-in flow.\n\nThis method cannot be used in combination with `skipNativeAuth` on Android and iOS.\nIn this case you have to use the `signInWithCustomToken` interface of the Firebase JS SDK directly.\n\n| Param         | Type                                                                                  |\n| ------------- | ------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithcustomtokenoptions\">SignInWithCustomTokenOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### signInWithEmailAndPassword(...)\n\n```typescript\nsignInWithEmailAndPassword(options: SignInWithEmailAndPasswordOptions) => Promise<SignInResult>\n```\n\nStarts the sign-in flow using an email and password.\n\n| Param         | Type                                                                                            |\n| ------------- | ----------------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithemailandpasswordoptions\">SignInWithEmailAndPasswordOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 0.2.2\n\n--------------------\n\n\n### signInWithEmailLink(...)\n\n```typescript\nsignInWithEmailLink(options: SignInWithEmailLinkOptions) => Promise<SignInResult>\n```\n\nSigns in using an email and sign-in email link.\n\n| Param         | Type                                                                              |\n| ------------- | --------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithemaillinkoptions\">SignInWithEmailLinkOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 1.1.0\n\n--------------------\n\n\n### signInWithFacebook(...)\n\n```typescript\nsignInWithFacebook(options?: SignInWithFacebookOptions | undefined) => Promise<SignInResult>\n```\n\nStarts the Facebook sign-in flow.\n\n| Param         | Type                                                                            |\n| ------------- | ------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithfacebookoptions\">SignInWithFacebookOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### signInWithGameCenter(...)\n\n```typescript\nsignInWithGameCenter(options?: SignInWithOAuthOptions | SignInOptions | undefined) => Promise<SignInResult>\n```\n\nStarts the Game Center sign-in flow.\n\nOnly available for iOS.\n\n| Param         | Type                                                                                                                    |\n| ------------- | ----------------------------------------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithoauthoptions\">SignInWithOAuthOptions</a> \\| <a href=\"#signinoptions\">SignInOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 1.3.0\n\n--------------------\n\n\n### signInWithGithub(...)\n\n```typescript\nsignInWithGithub(options?: SignInWithOAuthOptions | undefined) => Promise<SignInResult>\n```\n\nStarts the GitHub sign-in flow.\n\n| Param         | Type                                                                      |\n| ------------- | ------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithoauthoptions\">SignInWithOAuthOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### signInWithGoogle(...)\n\n```typescript\nsignInWithGoogle(options?: SignInWithGoogleOptions | undefined) => Promise<SignInResult>\n```\n\nStarts the Google sign-in flow.\n\n| Param         | Type                                                                        |\n| ------------- | --------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithgoogleoptions\">SignInWithGoogleOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### signInWithMicrosoft(...)\n\n```typescript\nsignInWithMicrosoft(options?: SignInWithOAuthOptions | undefined) => Promise<SignInResult>\n```\n\nStarts the Microsoft sign-in flow.\n\n| Param         | Type                                                                      |\n| ------------- | ------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithoauthoptions\">SignInWithOAuthOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### signInWithOpenIdConnect(...)\n\n```typescript\nsignInWithOpenIdConnect(options: SignInWithOpenIdConnectOptions) => Promise<SignInResult>\n```\n\nStarts the OpenID Connect sign-in flow.\n\n| Param         | Type                                                                                      |\n| ------------- | ----------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithopenidconnectoptions\">SignInWithOpenIdConnectOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 6.1.0\n\n--------------------\n\n\n### signInWithPhoneNumber(...)\n\n```typescript\nsignInWithPhoneNumber(options: SignInWithPhoneNumberOptions) => Promise<void>\n```\n\nStarts the sign-in flow using a phone number.\n\nUse the `phoneVerificationCompleted` listener to be notified when the verification is completed.\nUse the `phoneVerificationFailed` listener to be notified when the verification is failed.\nUse the `phoneCodeSent` listener to get the verification id.\n\nOnly available for Android and iOS.\n\n| Param         | Type                                                                                  |\n| ------------- | ------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithphonenumberoptions\">SignInWithPhoneNumberOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### signInWithPlayGames(...)\n\n```typescript\nsignInWithPlayGames(options?: SignInWithOAuthOptions | undefined) => Promise<SignInResult>\n```\n\nStarts the Play Games sign-in flow.\n\nOnly available for Android.\n\n| Param         | Type                                                                      |\n| ------------- | ------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithoauthoptions\">SignInWithOAuthOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### signInWithTwitter(...)\n\n```typescript\nsignInWithTwitter(options?: SignInWithOAuthOptions | undefined) => Promise<SignInResult>\n```\n\nStarts the Twitter sign-in flow.\n\n| Param         | Type                                                                      |\n| ------------- | ------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithoauthoptions\">SignInWithOAuthOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### signInWithYahoo(...)\n\n```typescript\nsignInWithYahoo(options?: SignInWithOAuthOptions | undefined) => Promise<SignInResult>\n```\n\nStarts the Yahoo sign-in flow.\n\n| Param         | Type                                                                      |\n| ------------- | ------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#signinwithoauthoptions\">SignInWithOAuthOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#signinresult\">SignInResult</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### signOut()\n\n```typescript\nsignOut() => Promise<void>\n```\n\nStarts the sign-out flow.\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### unlink(...)\n\n```typescript\nunlink(options: UnlinkOptions) => Promise<UnlinkResult>\n```\n\nUnlinks a provider from a user account.\n\n| Param         | Type                                                    |\n| ------------- | ------------------------------------------------------- |\n| **`options`** | <code><a href=\"#unlinkoptions\">UnlinkOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#unlinkresult\">UnlinkResult</a>&gt;</code>\n\n**Since:** 1.1.0\n\n--------------------\n\n\n### updateEmail(...)\n\n```typescript\nupdateEmail(options: UpdateEmailOptions) => Promise<void>\n```\n\nUpdates the email address of the currently signed in user.\n\n| Param         | Type                                                              |\n| ------------- | ----------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#updateemailoptions\">UpdateEmailOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### updatePassword(...)\n\n```typescript\nupdatePassword(options: UpdatePasswordOptions) => Promise<void>\n```\n\nUpdates the password of the currently signed in user.\n\n| Param         | Type                                                                    |\n| ------------- | ----------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#updatepasswordoptions\">UpdatePasswordOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### updateProfile(...)\n\n```typescript\nupdateProfile(options: UpdateProfileOptions) => Promise<void>\n```\n\nUpdates a user's profile data.\n\n| Param         | Type                                                                  |\n| ------------- | --------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#updateprofileoptions\">UpdateProfileOptions</a></code> |\n\n**Since:** 1.3.0\n\n--------------------\n\n\n### useAppLanguage()\n\n```typescript\nuseAppLanguage() => Promise<void>\n```\n\nSets the user-facing language code to be the default app language.\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### useEmulator(...)\n\n```typescript\nuseEmulator(options: UseEmulatorOptions) => Promise<void>\n```\n\nInstrument your app to talk to the Authentication emulator.\n\n| Param         | Type                                                              |\n| ------------- | ----------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#useemulatoroptions\">UseEmulatorOptions</a></code> |\n\n**Since:** 0.2.0\n\n--------------------\n\n\n### verifyBeforeUpdateEmail(...)\n\n```typescript\nverifyBeforeUpdateEmail(options: VerifyBeforeUpdateEmailOptions) => Promise<void>\n```\n\nVerifies the new email address before updating the email address of the currently signed in user.\n\n| Param         | Type                                                                                      |\n| ------------- | ----------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#verifybeforeupdateemailoptions\">VerifyBeforeUpdateEmailOptions</a></code> |\n\n**Since:** 6.3.0\n\n--------------------\n\n\n### checkAppTrackingTransparencyPermission()\n\n```typescript\ncheckAppTrackingTransparencyPermission() => Promise<CheckAppTrackingTransparencyPermissionResult>\n```\n\nChecks the current status of app tracking transparency.\n\nOnly available on iOS.\n\n**Returns:** <code>Promise&lt;<a href=\"#checkapptrackingtransparencypermissionresult\">CheckAppTrackingTransparencyPermissionResult</a>&gt;</code>\n\n**Since:** 7.2.0\n\n--------------------\n\n\n### requestAppTrackingTransparencyPermission()\n\n```typescript\nrequestAppTrackingTransparencyPermission() => Promise<RequestAppTrackingTransparencyPermissionResult>\n```\n\nOpens the system dialog to authorize app tracking transparency.\n\n**Attention:** The user may have disabled the tracking request in the device settings, see [Apple's documentation](https://support.apple.com/guide/iphone/iph4f4cbd242/ios).\n\nOnly available on iOS.\n\n**Returns:** <code>Promise&lt;<a href=\"#checkapptrackingtransparencypermissionresult\">CheckAppTrackingTransparencyPermissionResult</a>&gt;</code>\n\n**Since:** 7.2.0\n\n--------------------\n\n\n### addListener('authStateChange', ...)\n\n```typescript\naddListener(eventName: 'authStateChange', listenerFunc: AuthStateChangeListener) => Promise<PluginListenerHandle>\n```\n\nListen for the user's sign-in state changes.\n\n**Attention:** This listener is not triggered when the `skipNativeAuth` is used. Use the Firebase JavaScript SDK instead.\n\n| Param              | Type                                                                        |\n| ------------------ | --------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'authStateChange'</code>                                              |\n| **`listenerFunc`** | <code><a href=\"#authstatechangelistener\">AuthStateChangeListener</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### addListener('idTokenChange', ...)\n\n```typescript\naddListener(eventName: 'idTokenChange', listenerFunc: IdTokenChangeListener) => Promise<PluginListenerHandle>\n```\n\nListen to ID token changes for the currently signed-in user.\n\n**Attention:** This listener is not triggered when the `skipNativeAuth` is used. Use the Firebase JavaScript SDK instead.\n\n| Param              | Type                                                                    |\n| ------------------ | ----------------------------------------------------------------------- |\n| **`eventName`**    | <code>'idTokenChange'</code>                                            |\n| **`listenerFunc`** | <code><a href=\"#idtokenchangelistener\">IdTokenChangeListener</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 6.3.0\n\n--------------------\n\n\n### addListener('phoneVerificationCompleted', ...)\n\n```typescript\naddListener(eventName: 'phoneVerificationCompleted', listenerFunc: PhoneVerificationCompletedListener) => Promise<PluginListenerHandle>\n```\n\nListen for a completed phone verification.\n\nThis listener only fires in two situations:\n1. **Instant verification**: In some cases the phone number can be instantly\nverified without needing to send or enter a verification code.\n2. **Auto-retrieval**: On some devices Google Play services can automatically\ndetect the incoming verification SMS and perform verification without\nuser action.\n\nOnly available for Android.\n\n| Param              | Type                                                                                              |\n| ------------------ | ------------------------------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'phoneVerificationCompleted'</code>                                                         |\n| **`listenerFunc`** | <code><a href=\"#phoneverificationcompletedlistener\">PhoneVerificationCompletedListener</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 1.3.0\n\n--------------------\n\n\n### addListener('phoneVerificationFailed', ...)\n\n```typescript\naddListener(eventName: 'phoneVerificationFailed', listenerFunc: PhoneVerificationFailedListener) => Promise<PluginListenerHandle>\n```\n\nListen for a failed phone verification.\n\n| Param              | Type                                                                                        |\n| ------------------ | ------------------------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'phoneVerificationFailed'</code>                                                      |\n| **`listenerFunc`** | <code><a href=\"#phoneverificationfailedlistener\">PhoneVerificationFailedListener</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 1.3.0\n\n--------------------\n\n\n### addListener('phoneCodeSent', ...)\n\n```typescript\naddListener(eventName: 'phoneCodeSent', listenerFunc: PhoneCodeSentListener) => Promise<PluginListenerHandle>\n```\n\nListen for a phone verification code.\n\n| Param              | Type                                                                    |\n| ------------------ | ----------------------------------------------------------------------- |\n| **`eventName`**    | <code>'phoneCodeSent'</code>                                            |\n| **`listenerFunc`** | <code><a href=\"#phonecodesentlistener\">PhoneCodeSentListener</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 1.3.0\n\n--------------------\n\n\n### removeAllListeners()\n\n```typescript\nremoveAllListeners() => Promise<void>\n```\n\nRemove all listeners for this plugin.\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### Interfaces\n\n\n#### ApplyActionCodeOptions\n\n| Prop          | Type                | Description                           | Since |\n| ------------- | ------------------- | ------------------------------------- | ----- |\n| **`oobCode`** | <code>string</code> | A verification code sent to the user. | 0.2.2 |\n\n\n#### ConfirmPasswordResetOptions\n\n| Prop              | Type                | Description                           | Since |\n| ----------------- | ------------------- | ------------------------------------- | ----- |\n| **`oobCode`**     | <code>string</code> | A verification code sent to the user. | 0.2.2 |\n| **`newPassword`** | <code>string</code> | The new password.                     | 0.2.2 |\n\n\n#### SignInResult\n\n| Prop                     | Type                                                                      | Description                                                     | Since |\n| ------------------------ | ------------------------------------------------------------------------- | --------------------------------------------------------------- | ----- |\n| **`user`**               | <code><a href=\"#user\">User</a> \\| null</code>                             | The currently signed-in user, or null if there isn't any.       | 0.1.0 |\n| **`credential`**         | <code><a href=\"#authcredential\">AuthCredential</a> \\| null</code>         | Credentials returned by an auth provider.                       | 0.1.0 |\n| **`additionalUserInfo`** | <code><a href=\"#additionaluserinfo\">AdditionalUserInfo</a> \\| null</code> | Additional user information from a federated identity provider. | 0.5.1 |\n\n\n#### User\n\n| Prop                | Type                                                  | Description                                                          | Since |\n| ------------------- | ----------------------------------------------------- | -------------------------------------------------------------------- | ----- |\n| **`displayName`**   | <code>string \\| null</code>                           |                                                                      | 0.1.0 |\n| **`email`**         | <code>string \\| null</code>                           |                                                                      | 0.1.0 |\n| **`emailVerified`** | <code>boolean</code>                                  |                                                                      | 0.1.0 |\n| **`isAnonymous`**   | <code>boolean</code>                                  |                                                                      | 0.1.0 |\n| **`metadata`**      | <code><a href=\"#usermetadata\">UserMetadata</a></code> | The user's metadata.                                                 | 5.2.0 |\n| **`phoneNumber`**   | <code>string \\| null</code>                           |                                                                      | 0.1.0 |\n| **`photoUrl`**      | <code>string \\| null</code>                           |                                                                      | 0.1.0 |\n| **`providerData`**  | <code>UserInfo[]</code>                               | Additional per provider such as displayName and profile information. | 5.2.0 |\n| **`providerId`**    | <code>string</code>                                   |                                                                      | 0.1.0 |\n| **`tenantId`**      | <code>string \\| null</code>                           |                                                                      | 0.1.0 |\n| **`uid`**           | <code>string</code>                                   |                                                                      | 0.1.0 |\n\n\n#### UserMetadata\n\n| Prop                 | Type                | Description                                                   | Since |\n| -------------------- | ------------------- | ------------------------------------------------------------- | ----- |\n| **`creationTime`**   | <code>number</code> | Time the user was created in milliseconds since the epoch.    | 5.2.0 |\n| **`lastSignInTime`** | <code>number</code> | Time the user last signed in in milliseconds since the epoch. | 5.2.0 |\n\n\n#### UserInfo\n\n| Prop              | Type                        | Description                                                                               | Since |\n| ----------------- | --------------------------- | ----------------------------------------------------------------------------------------- | ----- |\n| **`displayName`** | <code>string \\| null</code> | The display name of the user.                                                             | 5.2.0 |\n| **`email`**       | <code>string \\| null</code> | The email of the user.                                                                    | 5.2.0 |\n| **`phoneNumber`** | <code>string \\| null</code> | The phone number normalized based on the E.164 standard (e.g. +16505550101) for the user. | 5.2.0 |\n| **`photoUrl`**    | <code>string \\| null</code> | The profile photo URL of the user.                                                        | 5.2.0 |\n| **`providerId`**  | <code>string</code>         | The provider used to authenticate the user.                                               | 5.2.0 |\n| **`uid`**         | <code>string</code>         | The user's unique ID.                                                                     | 5.2.0 |\n\n\n#### AuthCredential\n\n| Prop                    | Type                | Description                                                                                                                              | Since |\n| ----------------------- | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ----- |\n| **`accessToken`**       | <code>string</code> | The OAuth access token associated with the credential if it belongs to an OAuth provider.                                                | 0.1.0 |\n| **`authorizationCode`** | <code>string</code> | A token that th","readmeFilename":"README.md"}