Any cordova plugin to add WebAuthn API to Android WebView? - android-webview

We've developed a cordova app that shows one of our websites (which is also accessible using a web browser).
Recently, FIDO2 authentication using WebAuthn has been added to that website. This works fine in the tested browsers (Chrome and Firefox), but not in our cordova application, as it uses Android WebView, which doesn't implement the WebAuthn API.
Does anybody know if there is any cordova plugin to add this API to Android WebView?
Is there any website with information about the Android WebView roadmap (bugs that will be fixed in next release, new features that will be added, ...)?

You're correct that Android WebView doesn't support WebAuthn in Android 13. We hope to address that in the Android 14 timeframe but, for now, you have to inject Javascript hooks and use a Javascript bridge to implement it. It's certainly possible to do but I'm not aware of any packaged solutions that do it.

Related

Using ionic-native Facebook plugin in Browser

I have created a new Ionic (Capacitor) app and I want to use the native facebook plugin, The plugin documentation says that is supported in the Android, iOS and Browser platforms, but when I run the app in the browser I get a Native: tried calling Facebook.login, but Cordova is not available. Make sure to include cordova.js or run in a device/simulator error.
How can I run the facebook plugin from the browser?

Themeable browser use UIWebView forcefully with ionic capacitor

I am doing ionic application with capacitor.
I have to use https://ionicframework.com/docs/native/themeable-browser plugin for one funcationality but when I make build and upload to apple store app is rejected because of UiWebView issue.
Commands for installing themeable plugin
npm install cordova-plugin-themeablebrowser
npm install #ionic-native/themeable-browser
ionic cap sync
If I remove that plugin and upload it to apple build process pass successfully.
Apple no longer accepts new submissions using UIWebView:
https://forums.developer.apple.com/thread/122114
There is also an Ionic blog article: https://ionicframework.com/blog/understanding-itms-90809-uiwebview-api-deprecation/
You can use Capacitor's Browser API, but it is quite limited compared to some existing Cordova plugins. However it is built around WKWebView and is therefore compliant.
There is AFAIK no alternative but to move to WKWebView if you want your app to be on the Apple App Store.
I assume you are using Themeable Browser instead of InAppBrowser because you need to customize the toolbar and other components. Unfortunately Themeable Browser is no longer a supported project. In InAppBrowser version 5.0.0 https://cordova.apache.org/announcements/2021/02/16/inappbrowser-release-5.0.0.html only uses WKWebView and you can now set InAppBrowserStatusBarStyle to "darkcontent". Unfortunately, other changes have to be applied manually. I succeeded for Android and I fight for Ios :-)

Is there a way to integrate facebook & google login in ionic PWA

I developed an app in ionic 3. It's working fine for android & iOS. Then I added browser platform but fb & google login not working for it.
Ionic documentation http://ionicframework.com/docs/native/facebook/ says facebook plugin is supported in browser. But it's not working.
Google plus plugin only supports android & iOS.
So how to integrate fb & google login in PWA developed in ionic 3?
I have tried using angular4-social-login module but no luck. Also I tried using javascript sdk but no success.
Facebook with Browser:
After you add the browser platform:
ionic cordova platform add browser
ionic cordova build browser --prod
After that in your facebook develop website settings page, add your server's domain to app domain (or localhost for testing).
You can read more about it here: browser

g-places-autocomplete not working on android build

I am creating app on ionic and used g-places-autocomplete for google place auto complete.
It works well on browser, but not working on app after I built it on android app via ionic build android command.
After debug with android test app, i got error that i have not add Referrer URL as per android strucuture which is "file_url//android_asset/XXXXX".
After i added above type of URL, it start working.

InappBrowser opening Paypal in Normal browser after installing Crosswalk in Ionic

I am using Braintree payments in my Ionic app. Before installing Crosswalk, it was working fine.
After installing Crosswalk, whenever I click on Paypal button in Dropin page, InappBrowser is trying to open the link in Normal External Browser instead of Webview. Any suggestions how to make Paypal open in Webview only.
I am testing this on Android device. I have cordova-plugin-crosswalk-webview and cordova-plugin-inappbrowser installed and below is my system info.
Cordova CLI: 6.2.0
Ionic Framework Version: 1.1.0
Ionic CLI Version: 1.7.15
Ionic App Lib Version: 0.7.2
ios-deploy version: 1.8.6
ios-sim version: 5.0.8
Node Version: v0.12.4
Xcode version: Xcode 7.2.1 Build version 7C1002
Full disclosure: I work at Braintree. If you have any further questions, feel free to contact support.
The short answer to this is that Braintree does not support Cordova apps. Even if you found a solution to this specific issue, there are enough moving pieces in the compilation that Braintree wouldn't be able to support your integration if/when you went into production.
Things have moved on since #Raymond Berg's answer:
With the advent of Braintree's own PopupBridge, which provides emulated popup behaviour for Android and iOS Webviews, it's now possible to make webpages containing Braintree's JS SDK (and therefore Web Drop-in) work correctly in native Android and iOS Webviews.
Therefore I've just published cordova-plugin-inappbrowser-popup-bridge, which adds support for Braintree's PopupBridge functionality to Cordova's InappBrowser. This makes it possible to support Braintree-powered PayPal payments within the context of the InappBrowser element of Cordova-based Android and iOS apps.