我们计划实施OAuth2规范并正在审查“访问令牌”实施。 貌似规范给出了一个很大的自由去实现者,我们正在寻找 的一些最佳做法:设计(OAuth2)访问令牌
- 要放什么东西在访问令牌?我们希望在尺寸和实用性之间取得良好的平衡。 我意识到这是非常特定的应用程序,但也许有一些事情值得拥有。
到目前为止,我们确定了以下字段:
- 用户识别
- 截止日期
- 版本(这样我们就可以改变未来的格式)
- 客户标识符(即应用程序谁请求令牌)
一些额外的属性(例如。密码散列)将被存储在数据库中,并在 认证期间(使用令牌中的字段作为“密钥”)进行查找。
- 如何保护它?
我们倾向于安全地签署访问令牌(HMAC),以便我们知道它是否被篡改。 令牌中的字段随后可供所有人阅读。
另一种方法是加密(AES)整个事情,并使其对用户完全不透明。这使得 它更大(以字节计)。它看起来像FB现在使用加密令牌(http://developers.facebook.com/blog/post/572/)
有关行业最佳实践的任何建议?
感谢, 彼得