auth0_flutter2 0.0.16 auth0_flutter2: ^0.0.16 copied to clipboard
Cross-platform Auth0 authentication integration, in minutes, for mobile and web.
A Flutter package to easily integrate Auth0 into Android, iOS, and Web Flutter apps.
Platform Support #
Android | iOS | MacOS | Web | Linux | Windows |
---|---|---|---|---|---|
✔️ | ✔️ | x | ✔️ | x | x |
Auth0Flutter2 is not supported on MacOS, Windows, or Linux.
Features #
Integrate Auth0 authentication across mobile and web Flutter apps. Login users, logout users, and identify currently authenticated users across web and mobile.
Usage #
To use this plugin, add auth0_flutter2
as a dependency in your pubspec.yaml file.
iOS and Android #
Follow the iOS and Android usage instructions in the official Auth0 mobile package
Web #
Add the Auth0 Javascript SPA (Single Page Application) library.
<script src="https://cdn.auth0.com/js/auth0-spa-js/1.13/auth0-spa-js.production.js"></script>
In main.dart, add a method to handle Web login callbacks.
@override
void initState() {
checkForRedirectCallback();
super.initState();
}
@override
Widget build(BuildContext context) {
.....
}
Future<void> checkForRedirectCallback() async {
// Check for login callback state.
var redirectCallbackHandled =
await Auth0Flutter2.instance.handleWebLoginCallback(
Uri.base.toString(),
);
// If callback was able to be processed, do something.
if (redirectCallbackHandled) {
// DO SOMETHING...
}
}
Example #
Import the library.
import 'package:auth0_flutter2/auth0_flutter2.dart';
Then initialize the Auth0Flutter2
class in your main()
method.
void main() {
Auth0Flutter2.auth0Domain = "AUTH0_DOMAIN";
Auth0Flutter2.auth0ClientId = "AUTH0_CLIENT_ID";
Auth0Flutter2.redirectUri = "YOUR_APP_REDIRECT_URI";
// Set the URL strategy for our web app. Removes
// trailing hash(#) to ensure login callbacks
// will be captured and processed correctly.
Auth0Flutter2.setPathUrlStrategy();
runApp(const MyApp());
}
Then invoke the class methods anywhere in your Dart code.
Auth0Flutter2.instance.loginUser();
Auth0Flutter2.instance.logoutUser();
Auth0Flutter2.instance.getLoggedInUserId();