browserAuth static method
Implementation
static Future<dynamic> browserAuth({
required BuildContext? context,
required Uri authEndpoint,
required Uri tokenEndpoint,
required String callbackUrlScheme,
required String clientID,
required String redirectURL,
String? scopes,
}) async {
try {
final scopeArray = scopes?.split(" ");
final result = await OAuthWebScreen.start(
context: context!,
configuration: OAuthConfiguration(
authorizationEndpointUrl: authEndpoint.toString(),
tokenEndpointUrl: tokenEndpoint.toString(),
// clientSecret: clientSecret,
clientId: clientID,
redirectUrl: redirectURL,
scopes: scopeArray,
// promptValues: const ['login'],
// loginHint: 'xxx@mail.com',
onCertificateValidate: (certificate) {
///This is recommended
/// Do certificate validations here
/// If false is returned then a CertificateException() will be thrown
return true;
},
// contentLocale: Locale('es'),
// refreshBtnVisible: false,
// clearCacheBtnVisible: false,
// textLocales: {
// ///Optionally texts can be localized
// OAuthWebView.backButtonTooltipKey: 'Ir atrás',
// OAuthWebView.forwardButtonTooltipKey: 'Ir adelante',
// OAuthWebView.reloadButtonTooltipKey: 'Recargar',
// OAuthWebView.clearCacheButtonTooltipKey: 'Limpiar caché',
// OAuthWebView.closeButtonTooltipKey: 'Cerrar',
// OAuthWebView.clearCacheWarningMessageKey: '¿Está seguro que desea limpiar la caché?',
// },
),
);
if (result is AuthorizationException) {
// If click "Back" button on the web page, result is AuthorizationException
return null;
}
return result;
} catch (err) {
return null;
}
}