0

我正在使用 Meteor 1.6 和 Restivus v0.8.12 来定义一些 REST 端点。

Restivus 对于 authRequired 只有两个选项:

  • true -> auth 是必需的,否则不调用 API 函数
  • false -> 即使提交凭据也不执行授权

我有一个端点,我希望身份验证是可选的。也就是说,如果他们提交了他们的 userId 和 token 凭证,那么就照常对他们进行身份验证并定义this.userId。如果他们不这样做,则将this.userId保留为未定义,但仍调用该操作。这可能吗?

我正在考虑的替代方案是定义不同的端点(例如 GET /record/:recordId/authenticated 和 GET /record/:recordId/public),或者从请求中获取原始标头并自己进行身份验证。

第一个选项使 API 的语义混乱,将涉及复制操作函数,而第二个选项重新发明了身份验证过程(可能很糟糕,因为我要编写自己的函数:-)

有更好的选择吗?

4

0 回答 0