如何在门卫中执行仅应用程序身份validation(oauth2)

Twitter为他们的api提供仅限应用程序的身份validation: https : //dev.twitter.com/docs/auth/application-only-auth

Twitter使应用程序能够代表应用程序本身发出经过身份validation的请求(而不是代表特定用户)

我想在Rails中对门卫做同样的事,但我不知道该怎么做。 似乎只能通过回调urlvalidation用户,但是如何使用应用程序上下文访问我的API(仅使用应用程序ID和应用程序密钥)

我的第一个想法是使用应用程序的ID和密码进行密码凭证登录,以获取属于该应用程序的访问令牌。 这是一个坏主意吗? 从安全的角度来看是否安全? 我想知道因为应用程序的秘密在db中保存为纯文本,这是用户身份validation的禁忌。

这是你绝对可以做的事情:你可以看到这里的示例,它使用client_credentials生成令牌,但没有用户名/密码:

curl -i http://localhost:5100/oauth/token \ -F grant_type="client_credentials" \ -F client_id="your_application_id" \ -F client_secret="your_secret" 

由您决定是否有与doorkeeper_token相关联的resource_owner