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/