Authenticate Device using uuid?


#1

Hello all, I am trying to make an application for our technicians to use int he field to fill out forms, trying to make things a bit paperless. I want there to be some sort of authentication, I see there is a cordova plugin for getting UUID, also I would like to avoid a traditional user/Pass login (Otherwise too many will forget passwords). would this be possible when launching the application that I can get the device UUID and verify against a database(I already have connection to my databse from my app).

Basically I see it as get the device UUID verify against database, if is in database proceed to the main app, otherwise display “Unauthencated error”, Also I see this as a way I can pre populate some of the fields such as a technicians named based off the device UUID match in database.

also I am new to angularjs, this is my first time actually using to this depth, Thanks for any help,


#2

As long as you dont care about security too much you can use uuid for authantification. Keep in mind though, that people are able to change there uuid on a rooted device.

Check out this blogpost:
http://devdactic.com/user-auth-angularjs-ionic/

You should be able to do pretty much the same with authantication over uuid.
Just get device uuid with https://github.com/apache/cordova-plugin-device and use it instead of the form input.


#3

I would suggest looking into not using the UUID but just an ‘installation id’ you generate yourself after installation (this can be on the device and then sent to the server or the device requests its installation_id from the server). If a technician already has an “account” you can build some authentication/login form where he can connect his current installation_id to his account (and data). Otherwise he will loose his data when he gets a new device or the UUID is changed (OS update, OS reinstall, just OS security…). Lots of unhappy users then.


#4

Thanks for your responses, Im not to worried about people with rooted devices, most of them can barely work their phones, but the current application they are using was made before I was here and is only ios devices. I think creating some sort of my own id like Sujan suggested would be good, and also have the option to login incase they switch devices. Big learning curve to do that being all angular and angular being my weakest language. but having them login in everytime will simply not fly very well . I will post when I have decided which route and post it up so ppl can reference it.


#5

You can of course save the account/login to the device after the first login - no need to relogin every time.


#6

I’ve got a very similar use case and I’m very interested in your final solution please?

I’d like users to be able to login once with a unique id (purchased) which will be checked against a db but looking for a way to prevent the user having to re-enter the unique id if they get a new device.