访问授权和访问令牌之间的区别

Tut*_*ute 5 ruby ruby-on-rails oauth-2.0 doorkeeper

我无法弄清楚在守门员中令牌和格兰特之间的区别.在哪一刻,门卫创建了一个访问授权和一个访问令牌?文档似乎没有任何说明,现在我正在阅读代码,但不是十几行.

小智 12

我建议也阅读oauth2文档
据我了解,Doorkeeper也基于该文档中描述的协议.

在门卫中,您将首先获得访问权限,然后访问令牌.

访问许可通常只会非常短暂(门卫默认为10分钟).您将通过请求GET到api-url/oauth/authorize来获得此结果(不要忘记将client_id,redirect_uri和response_type作为参数.response_type将具有值"code").

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

使用access_token,您可以在有限的时间内获取API的资源(如果我没有记错,门卫的默认值是一小时).当acces_tooken过期时,使用refresh_token获取新的access_token,依此类推.

总之,访问授权是作为用户允许应用程序使用其资源的标志而给出的关键.
访问令牌是允许应用程序在已定义的有限时间内使用资源的关键.

希望它可以提供帮助.

  • 我还要补充一点,重要的是授权代码通过Web代理(通常是Web浏览器)以明确方式传递,该代理不受应用程序的信任.然后,它使用此代码与上面提到的POST请求发送的秘密相结合,以安全地获取令牌. (2认同)