<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><h2 style="text-rendering: optimizelegibility; margin-top: 0px !important; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding: 0px; line-height: 1.7; cursor: text; position: relative; font-size: 2em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(238, 238, 238); font-family: Helvetica, arial, freesans, clean, sans-serif; z-index: auto; ">One Time Password</h2><p style="margin: 15px 0px; font-family: Helvetica, arial, freesans, clean, sans-serif; font-size: 15px; line-height: 25px; "><span style="background-color: rgb(255, 255, 255); ">I've checked in the&nbsp;</span><a href="https://github.com/edewit/aerogear-otp-cordova" rel="noreferrer" style="color: rgb(65, 131, 196); text-decoration: none; background-color: rgb(255, 255, 255); ">cordova otp</a><span style="background-color: rgb(255, 255, 255); ">&nbsp;module</span>&nbsp;it now supports Android and iOS, I've added a dependency on the barcode scanner plugin so that it is a complete package. There is one general&nbsp;<code style="font-family: Consolas, 'Liberation Mono', Courier, monospace; font-size: 12px; line-height: normal; margin: 0px 2px; padding: 0px 5px; border: 1px solid rgb(221, 221, 221); background-color: rgb(248, 248, 248); border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; white-space: nowrap; ">generate</code>&nbsp;method that will check if there is a secret stored if not it will fire up the barcode scanner to scan a secret and then store it. There are also separate methods that support these functions.</p><p style="margin: 15px 0px; font-family: Helvetica, arial, freesans, clean, sans-serif; font-size: 15px; line-height: 25px; ">On the android side I use SharedPreferences and for iOS NSUserDefaults to store the secret. Currently the project is under my own name don't know how to move it.</p><p style="margin: 15px 0px; font-family: Helvetica, arial, freesans, clean, sans-serif; font-size: 15px; line-height: 25px; ">As this is a security thing it would be great if others would take a look at because we want to be extra sure there is no obvious security hole in this.</p><p style="margin: 15px 0px; font-family: Helvetica, arial, freesans, clean, sans-serif; font-size: 15px; line-height: 25px; ">Cheers,&nbsp;Erik Jan</p></body></html>