All Projects → amrfarid140 → firebase_auth_oauth

amrfarid140 / firebase_auth_oauth

Licence: other
A Flutter plugin that makes it easy to perform OAuth sign in flows using FirebaseAuth.

Programming Languages

dart
5743 projects
swift
15916 projects
kotlin
9241 projects
ruby
36898 projects - #4 most used programming language
HTML
75241 projects
objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to firebase auth oauth

Angular Token
🔑 Token based authentication service for Angular with interceptor and multi-user support. Works best with devise token auth for Rails. Example:
Stars: ✭ 376 (+1242.86%)
Mutual labels:  oauth, auth
Httpie Oauth
OAuth plugin for HTTPie
Stars: ✭ 78 (+178.57%)
Mutual labels:  oauth, auth
supabase-ui-svelte
Supabase authentication UI for Svelte
Stars: ✭ 83 (+196.43%)
Mutual labels:  oauth, auth
yii-auth-client
Yii Framework external authentication via OAuth and OpenID Extension
Stars: ✭ 20 (-28.57%)
Mutual labels:  oauth, auth
Twitch4j
Modular Async/Sync/Reactive Twitch API Client / IRC Client
Stars: ✭ 209 (+646.43%)
Mutual labels:  oauth, auth
Vue Authenticate
Simple Vue.js authentication library
Stars: ✭ 1,350 (+4721.43%)
Mutual labels:  oauth, auth
Idtoken Verifier
Lightweight RSA JWT verification
Stars: ✭ 52 (+85.71%)
Mutual labels:  oauth, auth
sign-in-with-ethereum
Minimal example of sign in with Ethereum. Compatible with web3 browsers.
Stars: ✭ 25 (-10.71%)
Mutual labels:  oauth, auth
React Native Instagram Login
a react native instagram login component (support android & ios). Pull requests are welcome!
Stars: ✭ 139 (+396.43%)
Mutual labels:  oauth, auth
Fosite
Extensible security first OAuth 2.0 and OpenID Connect SDK for Go.
Stars: ✭ 1,738 (+6107.14%)
Mutual labels:  oauth, auth
casdoor-go-sdk
Go client SDK for Casdoor
Stars: ✭ 37 (+32.14%)
Mutual labels:  oauth, auth
react-google-oauth2.0
React frontend login with OAuth 2.0 & integrates a Rest API backend.
Stars: ✭ 14 (-50%)
Mutual labels:  oauth, auth
Slack
[READ ONLY] Subtree split of the SocialiteProviders/Slack Provider (see SocialiteProviders/Providers)
Stars: ✭ 11 (-60.71%)
Mutual labels:  oauth
Opux
Opux is a Discord bot for EVEOnline
Stars: ✭ 13 (-53.57%)
Mutual labels:  auth
passport-oauth1
OAuth 1.0 authentication strategy for Passport and Node.js.
Stars: ✭ 23 (-17.86%)
Mutual labels:  oauth
ApigilityConsumer
🍃 Zend Framework/Laminas and Expressive/Mezzio Apigility/Laminas API Tools Client Module to consume API Services
Stars: ✭ 15 (-46.43%)
Mutual labels:  oauth
instagram-oauth-nodejs-server
Node.js server for Intagram-API OAuth purpose.
Stars: ✭ 12 (-57.14%)
Mutual labels:  oauth
guile-oauth
OAuth module for Guile
Stars: ✭ 19 (-32.14%)
Mutual labels:  oauth
iron-session
🛠 Node.js stateless session utility using signed and encrypted cookies to store data. Works with Next.js, Express, NestJs, Fastify, and any Node.js HTTP framework.
Stars: ✭ 1,729 (+6075%)
Mutual labels:  auth
erlang-oauth
An Erlang OAuth 1.0 implementation
Stars: ✭ 298 (+964.29%)
Mutual labels:  oauth

firebase_auth_oauth

A Flutter plugin that makes it easy to perform OAuth sign in flows using FirebaseAuth. It also includes support for Sign in by Apple for Firebase. This plugin supports Android, iOS and Web. OAuth flows are performed by opening pop-up on top of the application to allow the user to authenticate or the native flow in the case of sign in by apple.

Usage

You need to set up Firebase for your project first before using this plugin. Instructions can be found here.

  • In your pubspec.yaml add
dependencies:
  flutter:
    sdk: flutter
  firebase_auth: ^3.0.1
  firebase_core: ^1.4.0
  firebase_auth_oauth: ^1.2.0
  • Then in your project just call

FirebaseUser user = await FirebaseAuthOAuth().openSignInFlow("A provider ID", [list of scopes], {custom parameters map});

// Sign-in by Apple example
User user = await FirebaseAuthOAuth()
          .openSignInFlow("apple.com", ["email"], {"locale": "en"});

// Or you can link an existing logged-in user
User user = await FirebaseAuthOAuth()
          .linkExistingUserWithCredentials("apple.com", ["email"], {"locale": "en"});

// Or if the OAuth credential result is needed, you can fetch provider auth result with one of the following
OAuthCredential credential = await FirebaseAuthOAuth().signInOAuth("apple.com", ["email"], {"locale": "en"});
OAuthCredential credential = await FirebaseAuthOAuth().linkWithOAuth("apple.com", ["email"], {"locale": "en"});
USer user = FirebaseAuth.instance.currentUser;

Checkout the example Widget.

Auth Providers Support

Name Supported
Apple (Android, Web & iOS 13)
Twitter
Github
Microsoft
Yahoo
Facebook 🚫

This plugin supports OAuth operations using OAuthProvider only with the exception to Sign in by Apple on iOS 13 where it uses the native AuthenticationService.

Error Handling

Below are the error codes you might receive when using this plugin

Code Meaning
FirebaseAuthError An error coming from FirebaseAuth SDK
PluginError An error coming from this plugin. e.g. Invalid arguments or null items
PlatformError An error coming from the native platform
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].