ruby-on-rails - 访问授权和访问 token 之间的区别

标签 ruby-on-rails ruby oauth-2.0 doorkeeper

Doorkeeper 中Token 和Grant 的区别我搞不清楚。 Doorkeeper 在哪个时刻创建访问授权,何时创建访问 token ?文档似乎对此什么也没说,现在我正在阅读代码,但不是十几行。

最佳答案

我还建议阅读 documentation of oauth2
据我了解,Doorkeeper 也是基于该文档中描述的协议(protocol)。

在doorkeeper中,你会先获得access grant,然后是access token。

访问授权通常只存在很短的时间(doorkeeper 中的默认值为 10 分钟)。 您将通过向 api-url/oauth/authorize 请求 GET 来获得此信息(不要忘记将 client_id、redirect_uri 和 response_type 作为参数。response_type 的值为“code”)。

一旦用户允许应用程序(用户单击“允许”按钮),doorkeeper 将在返回的 url 中将访问权限作为参数返回。 获取该代码,您现在可以使用它向 api-url/oauth/token 发出 POST 请求以获取您的 access_token 和 refresh_token。

使用access_token,可以在限定的时间内获取API的资源(Doorkeeper的默认是一小时,如果我没记错的话)。 当acces_token过期时,使用refresh_token获取新的access_token等。

总之,access grant 是作为用户允许应用程序使用其资源的标志给出的 key 。
Access token 是允许应用程序在定义的有限时间内使用资源的 key 。

希望对您有所帮助。

关于ruby-on-rails - 访问授权和访问 token 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28176698/

相关文章:

ruby-on-rails - 在 Rails 中对 PostgreSQL 的大型对象进行建模

mysql - 如何让 Phusion Passenger、MySQL 和 Rails 在生产环境中良好运行

jQuery 获取针对 Sinatra 的请求未获取文本

javascript - 无法将 Twitter 与 Satellizer.js 链接

c# - 使用 Onedrive SDK/API(或任何 API)保持身份验证

ruby-on-rails - 认为 Sphinx 索引在命令行上成功,但在 Cron 作业中失败

javascript - data-turbolinks-permanent 阻止 js 运行并摆脱谷歌地图标记

ruby - 稀土安装

ruby - 遏制 + Mechanize = 段错误?

Azure 流量管理器和 OAuth 2.0