繁体   English   中英

移动应用程序:用户写入数据库如何确定他们可以(身份验证)?

[英]Mobile App: users writing to DB how to be sure they can(authentication)?

我认为必须要说的是,我对以下提名的技术没有任何经验,我对正在发生的事情有一定的了解,我在Google上搜索了很多,但我仍然觉得自己更愚蠢。 :)

在Ionic 2中制作应用程序,该应用程序的用户可以在DB中读取/写入有关其自身的数据。

我使用Wordpress作为后端,实际上用户将更改某些Wordpress插件创建的表中的值。

第一个问题-我完全没有经验。
第二个-我必须了解哪个用户正在敲服务器。 因为用户只能在DB中更改自己的数据。

我已经通过创建一个脚本来解决该问题,该脚本检查来自应用程序的GET请求,并且该请求具有带有用户昵称的参数,因此我已将此脚本转换为模板并将其分配给了页面。 (如果您有更好的主意,模板是我想到的第一件事-请告诉我如何做得更好!)。

好了,现在我知道是谁了,但是我不喜欢这样不安全! 它唯一带有用户名的GET请求,然后更改以带入数据库。 不好。 我认为我不仅应该发送昵称,还应该发送某种密码,这样我就可以检查用户是否实际上是真实用户,好吧,您知道。

但是对安全一无所知,不知道从哪里开始,所以我开始谷歌搜索。

我发现有“基本身份验证”-不喜欢它,因为密码非常容易解码(base64),并且您必须随每个请求一起发送(不安全)。

然后我想到了使用bcrypt之类的强大算法对加密传递进行加密,然后随请求一起发送。 也不喜欢它-因为最后,即使被高度加密,您也总是会发送密码。

现在,我开始着眼于Auth 1.0的方向(因为看到wordpress有一个插件,但是我对wp知之甚少)。

但是毕竟我不确定我是否以正确的方式做事。 我必须完成许多事情,但是我仍然会遇到这个安全问题,并且我不知道这是否是我的偏执狂,并且有更简单的方法可以完成我想做的事情。 没有太多时间,不想再浪费时间了。

请有经验的人给我一个建议,以正确的方式来做这件事! 因为我对这些东西发疯了。

最佳做法是通过以下步骤将访问令牌从服务器发布到您的(甚至是第三方)客户端应用程序。

  1. 用户使用客户端应用程序。
  2. 客户端应用程序询问用户是否使用您的服务。
  3. 用户回答“是”。
  4. 客户端应用程序使用Web浏览器打开服务的授权页面。 换句话说,客户端应用程序向您的授权服务器发出授权请求
  5. 授权页面向用户说明客户端应用程序正在请求某些权限,并询问用户是否批准。
  6. 用户在授权页面的登录表单中输入其ID和密码,然后按“批准”按钮。
  7. 您的授权服务器对用户进行身份验证,并向客户端应用程序颁发访问令牌
  8. 客户端应用程序使用访问令牌访问您服务的Web API。
  9. 服务的Web API会检查显示的访问令牌是否有效。
  10. 如果访问令牌有效,则Web API将成功响应返回给客户端应用程序。

RFC 6749 (OAuth 2.0授权框架)定义了4个发布访问令牌的流。 检查规格。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM