刷新令牌时,得到“client_invalid”,即使我使用相同的客户端来获取刷新令牌

问题描述 投票:0回答:1

需要明确的是,我可以毫无问题地获取访问和刷新令牌。当我的原始访问令牌处于活动状态且尚未过期时,我什至可以进行 POST 和 GET。但是,当我尝试按照以下方式刷新我的令牌时:https://community.snowflake.com/s/article/HOW-TO-OAUTH-TOKEN-GENERATION-USING-SNOWFLAKE-CUSTOM-OAUTH

curl -X POST -H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" \
    --user "zj3myCplUa41CjG4o+QD6cYEPW4=:Y2XRIxxxxxxx2myJXgYoqsxSp8=" \
    --data-urlencode "grant_type=refresh_token" \
    --data-urlencode "refresh_token=ver:2-hint:8001830917-did:1014-ETMsDgAAAYclXmkuAxx---xxPSGXxUdaJKZlySzA==" \
    --data-urlencode "redirect_uri=https://localhost.com"

使用我最初在获取访问令牌和刷新令牌时使用的有效客户端 ID 和客户端密钥,我现在收到此错误。

{
  "data" : null,
  "error" : "invalid_client",
  "code" : null,
  "message" : "This is an invalid client.",
  "success" : false,
  "headers" : null
}

我怎样才能使用客户端 ID 和客户端密钥而没有问题地首先获取令牌,但是当我尝试刷新令牌时,它显示 invalid_client?

无论哪种方式,我都在寻求任何见解或帮助,因为我通常对 Snowflake 比较陌生,并且可能在这方面花费了太多时间。我可能错过了一些超级基本的东西。

--

此外,作为一些附加信息,该文档显示他们发送了

ver: 1-hint:...
令牌,对我来说这是访问令牌,而我收到的刷新令牌是
ver: 2-hint:...
。我应该发送原始的过期访问令牌吗?或者这是文档中的疏忽?

snowflake-cloud-data-platform
1个回答
0
投票

我认为在这种情况下,即 client_id 的“用户”应该在更新访问令牌时进行编码。

本文档解释了相同的详细信息/步骤 - https://community.snowflake.com/s/article/How-To-Generate-renewed-access-token-using-Refresh-Token-in-OAuth2

© www.soinside.com 2019 - 2024. All rights reserved.