The Agent targets iOS 4.3-6 for the iPhone and iPad. The beginnings of an Android port are in progress.
The Agent has been tested on the iPhone 4-5 iOS 5-6 and iPad iOS 5-6.
This application makes use of the following libs/frameworks, most notably:
- jquery mobile
- various phonegap plugins
The iOS version is located in the AppiOS folder and the Android verion is located in the AppAndroid folder. The www folder was copied from the AppiOS and put into the Android folder at version 1.7 for port PoC purposes only. An upcoming archiectural challenge will be to figure out how to keep the two www folders logically in-sync while accomodating platform specific modifications.
To run Agent locally in a web browser:
Disable the cross domain policy in your browser, e.g.,
Chrome: chrome.exe --disable-web-security
Run through web server to stop the local file cross domain policy protection.
Some device specific functions will not work including:
QR Code Scanning
Custom schema (a2p3.net://token?request=...) handling from the OS.
Push Notifications (TBD on how to do this manually)
There is a .project file for the Aptana software.
To run Agent on iPhone with using local IP addresses or if you need to sniff traffic:
- Create an ad-hoc wireless network on computer
- Configure iPhone to to use that wireless network
- Install a HTTP proxy on computer such as Fiddler2
- Edit wireless settings on iPhone to use that proxy
- Clean, simple and minimal
- Agent must be distinguishable from other A2P3 apps
Tips and Tricks:
The global function handleOpenUrl(url) can be used to trigger the enrollment direct and login direct.
For debugging on mobile, jsconsole can be very handy especially where you have to run a deployment signed application such as testing Apple push notifications (which can't be debugged in XCode).
A2P3_specs Specifications and POC documentation
A2P3 POC Server implementation source (node.js)
A2P3_bank POC mobile bank app (PhoneGap)
node-a2p3 node.js npm module for A2P3 applications
sample-node-a2p3 sample A2P3 application using node-a2p3
rs-sample-node-a2p3 sample A2P3 resource server using node-a2p3
Copyright (c) 2013 Province of British Columbia
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.