Security 检查散列RESTAPI令牌
我通过检查授权标头中的令牌来授权所有REST API请求:Security 检查散列RESTAPI令牌,security,rest,rest-security,Security,Rest,Rest Security,我通过检查授权标头中的令牌来授权所有REST API请求: POST /rest/resource HTTP/1.1 Host: domain.com Authorization: Bearer AbCdEf123456 令牌是纯文本,使用HTTPS。但是,该令牌在数据库中被盐析和散列 我如何验证请求 还将用户id发送到服务器,从数据库中为此用户选择令牌哈希,检查令牌是否正确发送用户id-将其放置在何处 检查数据库中的某些哈希是否与从用户性能问题接收到的令牌相对应 必须有一些优雅的方式,例如对
POST /rest/resource HTTP/1.1
Host: domain.com
Authorization: Bearer AbCdEf123456
令牌是纯文本,使用HTTPS。但是,该令牌在数据库中被盐析和散列
我如何验证请求
还将用户id发送到服务器,从数据库中为此用户选择令牌哈希,检查令牌是否正确发送用户id-将其放置在何处
检查数据库中的某些哈希是否与从用户性能问题接收到的令牌相对应
必须有一些优雅的方式,例如对于google maps,API密钥令牌就足够了。使用JWT JSON Web令牌作为授权承载。JWT可以在有效负载中具有用户id。您还可以轻松地验证JWT是否由受信任方(可能是您)发布。 好的方面是,您可以在不读取数据库中的值的情况下验证JWT。它完全是无国籍的 以下是JWT工作原理的简单解释:
你可以找到几乎任何语言的JWT库,只要用谷歌搜索一下就可以了。从事实上可以看出,散列的长度确实是yyy。我仍然不明白谷歌是如何做到这一点的,它只有很短的API密钥。API密钥是不同的。它只是您客户的标识符。但它不用于身份验证或授权。您不能使用API密钥安全访问您的数据,例如读取您的联系人。对于这样的操作,您需要获取可能存储在某处的访问令牌,并且需要在服务器端进行查找。