如何将android用户连接到我的数据库/ web应用程序?

问题描述:

我写了一个简单的Web应用程序,几个表。它有它的管理区域,您可以管理它的表格。基本的CRUD操作。如何将android用户连接到我的数据库/ web应用程序?

不过,我需要开发一个Android应用程序,这将检索该Web应用程序低谷API的信息。所以我要写一个简单的API方法来获取数据。有时Android用户会将其一些数据保存到数据库。

Android应用程序需要能够列出存储在数据库和书签一些这些项目在HTTP上的项目。

对我的问题是如何使用Android的谷歌帐户来实现的歌唱/ SignOut操作。例如,应用Gmail是始终在签署(至少我的设备上),我想我的应用程序中始终签署。

然后,我如何管理书签哪些项目的用户?我应该创建一个表android_bookmarked_items (android_user_id, item_id)?但那么应该是什么android_user_id?我需要使用OAuth吗?

我做这种断登陆的第一次,我真的很困惑如何连接与Android用户此Web应用程序和管理每个用户喜爱的物品......

您可以使用Android的AccountManager的。退房How to get the Android device's primary e-mail address

+0

这不是问题,我做这些HTTP请求,而是创建此认证逻辑。对于用户没有注册过程,需要在从Play商店安装应用程序或使用Android的电子邮件地址自动登录我的应用程序并保持登录状态后自动完成。 – clzola

+0

然后您可以使用Android设备的AccountManager 。看看http://stackoverflow.com/questions/2112965/how-to-get-the-android-devices-primary-e-mail-address看看它是如何解决的。 –

+0

所以,我从AccountManager获得这个主要的电子邮件。我可以将它发送到我的应用程序并存储在那里。然后,我还可以将添加书签的项目添加到此电子邮件。现在我看到的问题是如何保护这种沟通,以便只有这个设备可以书签与电子邮件地址的项目?我的意思是如果有人看到http请求,他或她会发现我使用post请求并有两个字段:电子邮件和项目ID。现在,他或她可以使用相同的电子邮件和不同的项目ID重新创建此请求... – clzola

我想我已经通过使用谷歌登录Android版找到解决方案。我在每个POST请求之前为当前登录用户获取idToken,并在服务器端进行验证。也从令牌我得到财产sub这是用户ID和存储这在我的数据库......

Auth with a backend server

但是,我非常新的这个东西,使用谷歌令牌和认证,我想为有人更experinced以确认我的解决方案是好的,安全的...