【问题标题】:Mobile to backend authentication移动到后端身份验证
【发布时间】:2016-03-09 20:31:41
【问题描述】:

我正在尝试将我的移动应用程序登录到我的后端。我以前曾经使用过一种需要在移动站点和后端站点上进行散列的方法。密码将被散列保存在移动网站上并包含在散列中。如果移动端和后端的哈希值相等,则请求有效。

但是我想将 Facebook 登录添加到我的登录系统中,所以我发现它不会像我之前构建的那样工作。我得出的结论是,我可能必须将整个方法更改为令牌登录。

我目前的功能是移动端的 Facebook 按钮,它为我创建了一个 Facebook 用户 ID 和 Facebook 访问令牌。我将这两个值都发送到我的后端,并使用 Facebook 图形调用从访问令牌中检索 facebookid。如果两个 Facebook 用户 ID 相等。我要么注册用户,要么让他登录。

这就是我卡住的地方。我现在想生成自己的令牌以发送回移动端,因为我有自定义登录(电子邮件+密码)(Facebook 只是一个选项)。所以我认为两种方式都使用我自己的身份验证令牌是最好的。

我有几个关于这个令牌的问题:

  • 令牌应该存在什么?
  • 我是否需要将此令牌保存在移动设备上(未经过哈希处理?)
  • 内置过期时间和自动刷新令牌的最佳方式是什么

我无法真正理解的是这种身份验证方法的安全性。通过请求发送令牌以使您可以访问用户信息与我认为的普通密码一样糟糕? SSL 连接是否足够简单?

我明白这些都是很多问题,但我希望有人能给我一个清楚的解释。

谢谢

【问题讨论】:

    标签: login facebook-login access-token


    【解决方案1】:

    你可以试试JWT (JSON web token),真的很简单。这个想法是,当您登录时,服务器会返回 JWT,您只需将其保存在您的移动应用程序中。然后您必须将其作为标头传递(假设您正在为 Android 开发):

    request = new HttpGet();
    request.addHeader("Authorization", "Bearer " + Global.loginData.jwt);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-23
      • 2019-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-06
      • 2011-12-09
      • 2020-11-08
      相关资源
      最近更新 更多