我的项目包括一个Web应用程序,一个移动应用程序和一个REST API模块。如何在移动应用程序和服务器之间保护REST API
该移动应用程序是用Ionic 3 for android制作的,并使用位于example.com/api.php地址的REST API在服务器上使用https。该API可以访问MySQL数据库。
对于访问API的用户,我必须创建API函数/注销的登录/访问权限,因为他们已经拥有在Web应用程序中创建的帐户。
主要关心的是实现安全登录。意思是说,如果有人试图在未经授权的情况下访问我的API(知道地址,函数名称或使用的参数名称)以收回错误消息。为了访问API,您必须登录并有权访问某个部分(我有多个访问级别)。 但是,如何检测访问我的REST API的用户是否已登录并具有适当的权限?
计划:
对于登录步骤 为了访问REST API我有在应用程序的用户名/密码登录。我检查凭证是否正确(如果用户存在,则确定访问级别),并根据需要(令牌)返回带有用户标识和其他参数的JWT。将电话本地存储在JWT中。
确保访问REST API函数 问题是:我该怎么做?如何从我的REST API访问安全的功能?
- 对于我向REST API发出的每个请求,我是否也应该从本地存储器发送令牌并在服务器端验证它?
- 如何在服务器上执行验证?我是否将令牌存储在设备上以及服务器上,并对每个请求进行比较?
非常感谢!
有很多方法可以做到这一点,包括用户注册,使用令牌等。在Stack Overflow上,你应该显示你已经尝试了什么,什么不工作。有关如何发布您的问题的建议,请参阅https://stackoverflow.com/help/mcve。这样的问题往往被认为是广泛的或基于意见的,因为有很多方法可以做你正在尝试的事情。过去,我使用了令牌方法,在您登录的位置为该令牌提供所有REST请求,并且验证该令牌的服务器仍然有效,如果是,则执行请求。 –