Skip to content Skip to sidebar Skip to footer

How Can An Application Server Associate Google Accounts To A User's Device?

I want users to be able to enter data from a web server and/or native PC app and transfer it to their chosen Android device in much the same way that Google Play's install on devic

Solution 1:

You should use the user_id that is returned from the Google account server after registration to uniquely identify each user. Email addresses shouldn't be used for a number of reasons:

  • Accessing email addresses may require additional permissions from the user and dissuade users from using your service/app because of trust issues.
  • Adds liability for securing database of users' email addresses
  • Users may change their email addresses in Google accounts but cannot change their user IDs.
  • Users can associate one email address with more than one user ID, so it is not necessarily unique.

The following sequence diagram shows the initial registration from client Android app:

initial registration from client Android app

The next diagram shows what happens when a client wants to access his device from a browser:

client wants to access his device from a browser

Note that although not shown, the client Android app can now communicate back to the client browser if needed via the application server.

Solution 2:

The user_id you get from the device when you register with GCM should be the same as the user_id you get with your OAuth token for your app. Just store the OAuth token and Registration ID in your user repository, associating both with the user_id.

enter image description here

Post a Comment for "How Can An Application Server Associate Google Accounts To A User's Device?"