authwebview

Creator: coderz1093

Last updated:

0 purchases

authwebview Image
authwebview Images

Languages

Categories

Add to Cart

Description:

authwebview

authwebview #
A Flutter package for handling OAuth authentication flow within a webview.
Features #

Supports OAuth 2.0 authentication flow
Customizable OAuth providers
Handles authorization code exchange for access token
Provides a simple and intuitive API
Customizable loading widget during authentication process
Error handling and callbacks for authentication errors

Getting Started #
Prerequisites #

Flutter SDK installed
A Flutter project setup

Installation #
Add the following to your pubspec.yaml file:
dependencies:
authwebview: ^1.0.0
copied to clipboard
Then run flutter pub get to install the package.
Usage #
Import the package in your Dart code:
import 'package:authwebview/authwebview.dart';
copied to clipboard
Define an OAuth provider:
final provider = OAuthProvider(
name: 'Google',
discoveryUrl: 'https://accounts.google.com/.well-known/openid-configuration',
clientId: 'your-client-id',
redirectUrl: 'your-redirect-url',
scopes: ['openid', 'profile', 'email'],
);
copied to clipboard
Perform the OAuth flow:
final result = await AuthService.performOAuthFlow(
context,
provider,
loadingWidget: CircularProgressIndicator(),
);

if (result != null) {
// Authentication successful, access tokens are available in the result
print(result.accessToken);
} else {
// Authentication failed or canceled by the user
}
copied to clipboard
Handle authentication errors:
final result = await AuthService.performOAuthFlow(
context,
provider,
loadingWidget: CircularProgressIndicator(),
onError: (error) {
// Handle authentication errors
print('Authentication error: $error');
},
);
copied to clipboard
API Reference #
OAuthProvider #
Represents an OAuth provider configuration.



Property
Type
Description




name
String
The name of the OAuth provider.


discoveryUrl
String
The URL to the provider's OpenID Connect discovery document.


clientId
String
The client ID for the OAuth application.


redirectUrl
String
The redirect URL for the OAuth application.


scopes
List<String>
The list of scopes to request during authentication.



AuthService #
Provides methods for performing the OAuth authentication flow.



Method
Description




performOAuthFlow
Starts the OAuth authentication flow within a webview.


logout
Performs the logout process for the authenticated user.


getAuthorizationUrl
Retrieves the authorization URL for the OAuth provider.


handleRedirect
Handles the redirect URL after a successful authentication.



AuthorizationTokenResponse #
Represents the response containing the authorization tokens.



Property
Type
Description




accessToken
String?
The access token for making authenticated requests.


refreshToken
String?
The refresh token for obtaining a new access token.


accessTokenExpirationDateTime
DateTime?
The expiration date and time of the access token.


idToken
String?
The ID token containing user information.


tokenType
String?
The type of the access token (e.g., Bearer).


scopes
List<String>?
The list of scopes granted with the access token.


authorizationAdditionalParameters
Map<String, dynamic>?
Additional parameters returned with the tokens.



Error Handling #
The package provides error handling through the onError callback in the performOAuthFlow method. You can pass a function to handle any errors that occur during the authentication process.
AuthService.performOAuthFlow(
context,
provider,
onError: (error) {
// Handle authentication errors
print('Authentication error: $error');
},
);
copied to clipboard
Example #
An example of how to use the OAuth Webview package can be found in the example directory.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.