我正在构建一个API,将被Web和移动平台使用。我希望得到一些帮助和建议来改进我的令牌授权。
身份验证: 目前的身份验证非常简单。我假设发送的凭据是正确的: 1. 将电子邮件和密码发送到API端点。 2. 存储具有过期日期的用户令牌。 3. 回复客户端以用户授权令牌。
授权: 然后,任何其他操作授权包括: 1. 发送授权承载“token”头。 2. 决定是否允许令牌所有者执行该操作。 3. 完成操作。
问题: 我的担忧是,如果任何人审查请求标头,令牌就很容易被发现。这将允许用户从任何rest客户端执行任何有害请求。大多数可能故意破坏的请求在应用程序上下文中完全有效。因此,通过请求参数过滤它们不容易。
可能的解决方法: 我一直在考虑发送以下内容: 1. 用户授权令牌 2. 发送日期或任何其他参数 3. 哈希(令牌,其他参数)
在服务器上,我将逐个比较每个参数,然后再加密哈希。因此,如果有人使用不同的日期发送相同的哈希值,它可以轻松地被检测到是入侵者。
你有什么其他建议可以使通信更安全吗?
身份验证: 目前的身份验证非常简单。我假设发送的凭据是正确的: 1. 将电子邮件和密码发送到API端点。 2. 存储具有过期日期的用户令牌。 3. 回复客户端以用户授权令牌。
授权: 然后,任何其他操作授权包括: 1. 发送授权承载“token”头。 2. 决定是否允许令牌所有者执行该操作。 3. 完成操作。
问题: 我的担忧是,如果任何人审查请求标头,令牌就很容易被发现。这将允许用户从任何rest客户端执行任何有害请求。大多数可能故意破坏的请求在应用程序上下文中完全有效。因此,通过请求参数过滤它们不容易。
可能的解决方法: 我一直在考虑发送以下内容: 1. 用户授权令牌 2. 发送日期或任何其他参数 3. 哈希(令牌,其他参数)
在服务器上,我将逐个比较每个参数,然后再加密哈希。因此,如果有人使用不同的日期发送相同的哈希值,它可以轻松地被检测到是入侵者。
你有什么其他建议可以使通信更安全吗?