desktop_webview_auth
इस पैकेज के माध्यम से वेबव्यू के माध्यम से डेस्कटॉप पर Firebase OAuth सक्षम होता है
डेस्कटॉप फ्लटर एप्लिकेशन के लिए वेबव्यू ओएथ प्रवाह
^3.0.3{"sdk":"flutter"}^1.0.0{"sdk":"flutter"}^2.1.4{"sdk":"flutter"}^2.0.1यह अंग्रेज़ी मूल स्नैपशॉट है। नवीनतम सामग्री GitHub पर देखें।
This package enables Firebase OAuth on desktop platforms via webview
⚠️ Maintenance status: not actively maintained
This package was built to fill a gap: OAuth sign-in flows for Flutter desktop apps, at a time when the official Firebase solutions had no desktop support.
It still works, and for some use cases it remains the nicest desktop OAuth experience available — but it is not integrated with the wider FlutterFire ecosystem, and Invertase is no longer actively developing it. We will keep the repository public and accept the occasional community PR, but there is no guaranteed maintenance, no roadmap, and no support commitment. Issues may go unanswered.
It's kept public because it's still useful as-is, and because it's a solid starting point for anyone wanting to build a pure-Dart auth implementation. If you depend on it, please pin your version and be prepared to fork.
The recaptcha verification flow is done on the local server, and it requires that the app has the following in the Release.entitlements:
<key>com.apple.security.network.server</key>
<true/>
To display webview on Linux, WebKit2GTK development libraries are used, if you don't have it already installed:
Ubuntu:
apt install libwebkit2gtk-4.0-dev
Fedora:
dnf install webkit2gtk3-devel
Additionally, if Flutter is installed using snap, you might face issues compiling the app, to fix you would need to uninstall the snap version and install Flutter manually on Linux.
Make sure you are on latest stable channle of Flutter, and have installed the requirements as mentioned here.
Nothing extra is needed to get started on Windows.
flutter pub add desktop_webview_auth
import 'package:desktop_webview_auth/desktop_webview_auth.dart';
import 'package:desktop_webview_auth/google.dart';
import 'package:desktop_webview_auth/facebook.dart';
import 'package:desktop_webview_auth/twitter.dart';
ProviderArgsfinal googleSignInArgs = GoogleSignInArgs(
clientId:
'448618578101-sg12d2qin42cpr00f8b0gehs5s7inm0v.apps.googleusercontent.com',
redirectUri:
'https://react-native-firebase-testing.firebaseapp.com/__/auth/handler',
scope: 'email',
)
DesktopWebviewAuth.signIntry {
final result = await DesktopWebviewAuth.signIn(args);
print(result?.accessToken);
print(result?.tokenSecret);
} catch (err) {
// something went wrong
}
OAuthCredential and sign inimport 'package:firebase_auth/firebase_auth.dart';
final credential = GoogleAuthProvider.credential(accessToken: result.accessToken)
FirebaseAuth.instance.signInWithCredential(credential);