安全的RESTful API,可供Web应用程序(angular)、iOS和Android使用
我必须制定一个计划来开发一个RESTful API(Python/Flask),它可以被我们未来的web应用程序(Angularjs)和移动应用程序(iOS/Android)使用 我已经研究了三天,遇到了几种情况: 使用HTTPS是在以下方法之上保持安全的一种方法。但https速度较慢,这可能意味着我们需要更快、更昂贵的服务器安全的RESTful API,可供Web应用程序(angular)、iOS和Android使用,android,iphone,oauth,flask,restful-authentication,Android,Iphone,Oauth,Flask,Restful Authentication,我必须制定一个计划来开发一个RESTful API(Python/Flask),它可以被我们未来的web应用程序(Angularjs)和移动应用程序(iOS/Android)使用 我已经研究了三天,遇到了几种情况: 使用HTTPS是在以下方法之上保持安全的一种方法。但https速度较慢,这可能意味着我们需要更快、更昂贵的服务器 使用基本Http身份验证,并为每个对API的请求通过线路发送普通(https)用户名/密码 使用Digest Auth,这是密码的散列,跟踪将是自动的,这将适用于web应
我希望问一些以前做过这项工作的专业人士,他们可以分享他们的经验。非常感谢https,它速度较慢,但不是一个非https。 只有握手慢一些。对我们来说,最大的问题是维护服务器移动端的密钥对和权限。 我们还实现了一个消息摘要。问题是:很难正确设置php android ios版本。完成后(一个参数需要改变谷歌最初在android端的结果),问题将出现在低端设备上:CPU使用率太高,解密-加密过程慢,比https慢很多,特别是当需要转换10kb字符串时(可能需要几分钟)
如果我不将Nasa的数据传输给哈马斯,我会使用简单的HTTP进行非常简单的加密:比如反转位等等…使用HTTPS。它(稍微)慢一些,但是您在相对较短的投资时间(购买SSL证书并将URL从http更改为https)中获得的安全性是值得的。如果没有HTTPS,您的用户会话就有可能在不安全的公共网络上被劫持,这是非常危险的。您似乎混淆了/合并了两个不同的概念。我们开始讨论加密流量(HTTPS),然后讨论管理经过身份验证的会话的不同方法。在安全应用程序中,这些任务不是相互排斥的。此外,还可能存在一种误解,即会话管理如何影响身份验证。基于此,我将提供有关web应用程序/web api会话管理、身份验证和加密的入门知识 介绍 会话管理 默认情况下,HTTP事务是无状态的。HTTP不指定任何方法让应用程序知道HTTP请求已从特定用户(无论是否经过身份验证)发送 对于健壮的web应用程序,这是不可接受的。我们需要一种方法来关联跨多个请求发出的请求和数据。为此,在向服务器发出初始请求时,需要为用户分配一个“会话”。通常会话具有某种发送到客户端的唯一id。客户端在每个请求中发送会话id,服务器使用每个请求中发送的会话id为用户正确准备响应 重要的是要记住,“会话id”可以被称为许多其他东西。其中的一些示例有:会话令牌、令牌等。为了保持一致性,我将在本响应的其余部分使用“会话id” 来自客户端的每个HTTP请求都需要包含会话id;这可以通过多种方式实现。常见的例子有: