需要明确的是,我可以毫无问题地获取访问和刷新令牌。当我的原始访问令牌处于活动状态且尚未过期时,我什至可以进行 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:...
。我应该发送原始的过期访问令牌吗?或者这是文档中的疏忽?
我认为在这种情况下,即 client_id 的“用户”应该在更新访问令牌时进行编码。
本文档解释了相同的详细信息/步骤 - https://community.snowflake.com/s/article/How-To-Generate-renewed-access-token-using-Refresh-Token-in-OAuth2