我通过检查Authorization标头中的标记来授权所有REST API请求:
POST /rest/resource HTTP/1.1
Host: domain.com
Authorization: Bearer AbCdEf123456
令牌是纯文本,使用HTTPS。但是,令牌在数据库中被加盐并散列。
我如何验证请求?
必须有一些优雅的方式,因为例如谷歌地图“API密钥”(令牌)就足够了。
答案 0 :(得分:0)
使用JWT(JSON Web Token)作为授权承载。 JWT可以在有效负载中拥有用户ID。您还可以轻松验证JWT是否由受信任方(可能是您)发布。 好处是您可以在不读取数据库值的情况下验证JWT。这完全是无国籍的。
这是JWT如何工作的简单解释: http://www.intridea.com/blog/2013/11/7/json-web-token-the-useful-little-standard-you-haven-t-heard-about
您可以找到几乎所有语言的JWT库(只需google)