我有一个Rails 4应用程序。我使用 devise 进行身份验证,使用 opro 为我的API提供oauth2。所有请求都通过 pundit 政策授权,到目前为止,此设置完全正常。
目前,我的授权始终以每用户为基础。这是有道理的,因为通常每个请求都是代表在会话中进行身份验证或通过提供oauth-token的特定用户完成的。
新的挑战是:我有一些API消费者(从现在开始我称之为设备),其请求不能被视为来自特定用户的请求。一个是可以与API交换信息的 Asterisk服务器,另一个是 GPS跟踪框,它不断将跟踪点推送到API。
因此,我需要在每台设备的基础上授权某些API操作,这意味着不一定有current_user
可用。但是没有current_user
搞砸了我的授权概念。
我已经考虑了几种解决问题的方法:
User
- 模型,因为目前我只有#34;自然用户"需要姓名,生日,电子邮件等我正在为这种情况寻找最佳实践方法。我相信这不是一个非常普遍的问题,必须有很好的解决方案。