Android与Django:如何让用户登录

时间:2014-03-26 12:19:45

标签: android django login facebook-login django-authentication

我想知道热门应用使用的方法是什么。

以下是我考虑的方法:

  • 当用户登录时,保存用户名&共享首选项中的密码,每次都重复使用 (我认为这会很糟糕
  • 使用登录客户端(app) Facebook SDK,将身份验证令牌传递给应用程序并使用它 创建用户。将令牌传递给应用程序,将此令牌存储在应用程序上 电话并在将来的通信中使用它。 我认为它会成功 有意识地定期重新创建这个令牌,但如何不这样做 要求用户再次登录?
  • 创建登录视图。 这意味着将用户名和密码传递给API ,然后使用用户令牌。

2 个答案:

答案 0 :(得分:3)

我认为您不应该在偏好设置中存储用户凭据。

最常见的方法是将凭据发送到服务器,然后作为响应获取会话密钥。然后将会话密钥作为任何请求的标头包含(并在每个请求中对其进行验证)。

如果会话密钥无效(例如已过期),则服务器应返回正确的响应,客户端应初始化身份验证功能。

Egzample

首次运行

  1. 显示登录Activity
  2. 将凭据发送到服务器
  3. 获取session_key作为回复(通常是哈希)
  4. 存储session_key哈希
  5. 用户已通过身份验证,退出登录Activity
  6. 对服务器的任何请求。

    1. 在您的请求中添加session_key标题(例如标题)
    2. 发送请求
    3. 如果响应是Ok Stop,否则(例如响应消息“未授权”或状态代码401)运行First run

答案 1 :(得分:0)

首次运行

  • 显示登录活动
  • 将凭据发送到服务器
  • 获取session_key
  • 用户已通过身份验证,退出登录活动
  • 您可以获得存储在共享首选项
  • 中的访问令牌和登录详细信息

其他请求。

  • 在您的请求中添加带有session_key的标头(例如,作为标题)
  • 发送请求