-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Why use BBD's inAppBrowser, and not the original Cordova inAppBrowser #23
Comments
The BlackBerry Dynamics inAppBrowser makes use of BlackBerry Dynamics secure connectivity to allow an app to connect to servers within an enterprise's corporate network. You can read more about that in the Architecture Overview section here: https://developers.blackberry.com/us/en/resources/get-started/blackberry-dynamics-getting-started?platform=android#step-1 |
@MSohm Thank you. I am finding that the Cordova version of the inAppBrowser plugin, when used in a Cordova app that uses the BBD Base plugin, is also able to load pages served from the enterprise corporate network - which are not publicly available via the Chrome or Safari app. I guess the purpose of the BBD inAppBrowser plugin is not to just "allow access to enterprise" web pages, since the plain Cordova version already does that (when used in an app built with the BBD Base plugin). I did end up diffing all the files. The Architecture Overview section here is pretty broad. It mentions "Secure connectivity to enterprise services" but doesn't explain what that is. |
On iOS, BlackBerry Dynamics is able to capture and route most network connectivity automatically. This isn't the case on Android, a regular Android WebView will not be able to access resources on the enterprise network without using this inAppBrowser. I believe that section for iOS is for making use of certificates deployed to the app from BlackBerry UEM. |
Ok, thank you. We are not deploying or testing on Android yet, so did not experience that the Cordova inAppBrowser would not load enterprise only pages on Android. Thanks for explaining that. Thanks for explaining the iOS server trust section, too! |
Just wanted to follow up on this topic. Nowadays there are better alternatives compared to cordova's in-appbrowser. Apple may even decline apps that use the in-app-browser from publication in the app store. The preferred way for iOS is using the Safari view controller, see: https://developer.apple.com/documentation/safariservices/sfsafariviewcontroller. For Android, the preferred way is Chrome custom tabs. It's basically an in app browser provided by the OS. So your not leaving the app, its just an extra component you can use from within your app. My question to the BBD developers: can we access web pages within the enterprise's corporate network through Safari view controller / Chrome custom tabs while the BBD SDK is included within the app? |
Chrome Custom Tabs do not use BlackBerry Dynamics connectivity, so they cannot be used to access web pages within the enterprise's corporate network. In the native BlackBerry Dynamics SDK for iOS, SafariViewController does use BlackBerry Dynamics networking. SafariViewController isn't used by the BlackBerry Dynamics SDK for Cordova, although it can be used via third party libraries. The behaviour of how this is handled with the third party library would need to be tested and verified on a library by library basis. |
It would be very helpful to BBD app developers if the BBD inAppBrowser plugin's readme file had a paragraph or two that explained what was changed when porting over the Cordova version, so that a developer doesn't have to diff all of the files in the plugins to figure it out.
The original Cordova version of the inAppBrowser plugin works in a BBD app.
Why is the BBD version a better choice in a BBD app?
The readme notes "...enables you to securely load...".
What is insecure about the Cordova version?
What is more secure about the BBD version?
Thank you!
The text was updated successfully, but these errors were encountered: