【发布时间】:2016-04-20 20:35:35
【问题描述】:
我正在使用以下技术/方法实现 REST API:
我想实现身份验证端点,它应该在 JSONAPI 格式的 POST 请求中接收用户名和密码,并以 JSONAPI 格式返回 JWT 令牌。 但我发现有些矛盾不允许我 100% 使用 RESTful:
我们将端点命名为/tokens,因为它实际上创建了令牌。响应也是tokens 类型的资源,例如:
{
"data": {
"type": "tokens",
"attributes": {
"value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEifQ.ivJ5P23wqVo3w31flg3aOu7er--Ijght_RrBf_MuqsU",
}
}
}
但是请求呢? username 和 password 是用户的属性,但它们应该发送到 /tokens 端点。如果我将users 资源发送到/tokens 端点,它没有多大意义。
有没有办法解决这个问题,遵循 JSONAPI 并保持 API 有意义?
【问题讨论】:
-
在这些情况下,我所做的是拥有一个会话对象或实体,它包含您提到的属性,我不在乎它们来自用户,因为用户是进行身份验证的人。在任何情况下,JSONAPI 和 REST 都是很好的指南,但在需要时应用您的风格。
标签: rest authentication jwt json-api