我正在使用Django REST框架设计一个REST-web API,并为移动客户端(Android)使用基于会话(用于AJAX)和基于令牌的身份验证。
但我想知道基于会话的身份验证是否没有打破RESTful架构中"无状态"的限制?因为它在API中添加了一层"状态"?但另一方面,对我来说,对AJAX调用使用基于令牌的身份验证似乎也不是一个好主意,因为这样你就应该将令牌存储在JavaScript中?
http://www.django-rest-framework.org/api-guide/authentication
谨致问候,K.
感谢您的参考!:-)
参考:
"RESTful web服务应使用基于会话的身份验证,通过POST建立会话令牌,或使用API密钥作为POST主体参数或cookie。"
使用Django中身份验证的默认设置(登录和注销),登录时会有一个cookie集"sessionid"。我的REST API配置了全局权限"IsAuthenticated",所以我猜REST API使用cookie来取消会话。
因此,所有这些似乎都符合REST体系结构的限制。:-)