Django验证android应用程序用户

Django验证android应用程序用户,android,python,django,django-authentication,Android,Python,Django,Django Authentication,我计划做什么: 在客户端(手机上)使用FB/Google对用户进行身份验证 将身份验证确认传递给服务器 创建另一个令牌以用于将来与应用程序的通信 所以我会写一个“登录”应用程序来创建这个令牌,就这样 我的问题是: 由于所有数据都映射到UserID,因此如何将令牌映射到UserID 我是否编写了一个Django中间件来进行这种转换 我是否将当前_令牌存储在用户对象中 我是否存储token->userId的映射,并在生成模板将使用的数据时使用它 或 我是否将用户id存储在本地并将其与令牌一起

我计划做什么:

  • 在客户端(手机上)使用FB/Google对用户进行身份验证
  • 将身份验证确认传递给服务器
  • 创建另一个令牌以用于将来与应用程序的通信
所以我会写一个“登录”应用程序来创建这个令牌,就这样

我的问题是:

由于所有数据都映射到UserID,因此如何将令牌映射到UserID

  • 我是否编写了一个Django中间件来进行这种转换
  • 我是否将当前_令牌存储在用户对象中
  • 我是否存储token->userId的映射,并在生成模板将使用的数据时使用它

我是否将用户id存储在本地并将其与令牌一起传递

我计划做什么:

  • 在客户端(手机上)使用FB/Google对用户进行身份验证
  • 将身份验证确认传递给服务器
  • 创建另一个令牌以用于将来与应用程序的通信
您永远不会在客户端执行用户验证

社交验证也通过服务器端使用openID提供者(在本例中为Google/Facebook)的API进行

您要做的是使用以下四种方法之一:

测试每一个,看看哪一个适合你的需要

你不会做的是建立你自己的社会注册工具

最大的原因是它已经为你建造和测试过了,所以你不需要重新发明轮子,除非你是为了学习而这样做的


安全性也很重要,你可以考虑你自己的解决方案比测试版本更安全。

所以我将用户名和密码传递给服务器?在社交登录的情况下,你不会传递任何东西。社交登录应该将用户重定向到facebook/google登录,用户身份验证由他们的服务处理。让第三方网站处理用户名/密码是一种安全风险。如果您试图存储用户信息,则需要查阅各自的API以了解如何进行存储(尽管我希望其中一个auth工具允许您获取用户数据并将其放入自己的数据库中)。感谢您的回复。但我完全理解这在应用程序上是如何工作的。如中所述,应用程序中的“重定向”是什么意思?我是否打开web视图?即使在应用端登录,我也会使用FB和谷歌提供的工具,不会重写任何东西。我不知道你想说什么。请你再解释一下好吗?