authenticateIntent method
Implementation
Future<dynamic> authenticateIntent(
IntentAction action, IntentProvider callback) async {
final url = action.redirectToUrl!.url!;
final returnUrl = Uri.parse(action.redirectToUrl!.returnUrl!);
final completer = Completer<dynamic>();
late StreamSubscription sub;
sub = uriLinkStream.listen((Uri? uri) async {
if (uri!.scheme == returnUrl.scheme &&
uri.host == returnUrl.host &&
uri.queryParameters['requestId'] ==
returnUrl.queryParameters['requestId']) {
await sub.cancel();
final intent = await callback(uri);
completer.complete(intent);
}
});
await launch(url, forceSafariVC: false);
return completer.future;
}