oauth-2.0 未颁发Snowflake ODBC刷新令牌

fzsnzjdm  于 2022-10-31  发布在  其他
关注(0)|答案(1)|浏览(171)

我正在使用雪花ODBC连接进行连续的API调用。我的访问令牌将在10分钟后过期,并且可以通过以下调用使用刷新令牌进行刷新。但90天后,我的刷新令牌将过期。但此API端点

curl -X POST -H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" \
    --user "<OAUTH_CLIENT_ID not encoded>:<OAUTH_CLIENT_SECRET>" \
    --data-urlencode "grant_type=refresh_token" \
    --data-urlencode "refresh_token=<refresh_token value>" \
    --data-urlencode "redirect_uri=<OAUTH_REDIRECT_URI not encoded>" \
    <https://mydomain.snowflakecomputing.com/oauth/token-request>

仅当刷新标记有效时,此调用才返回访问标记。
这将返回400个错误请求,并且在刷新令牌过期时不发送新的访问和刷新令牌。
我们如何自动刷新refresh_token。是可能的,还是我们应该重复登录过程,这是唯一的方法?

eulz3vhy

eulz3vhy1#

没有办法刷新refresh_token。一旦refresh_token过期,您将不得不启动整个OAuth授权代码流程,这是基于OAuth 2.0 RFC的。
1.请输入用户名/密码登录
1.获取授权码
1.使用上述步骤(2)中的授权码交换访问令牌和刷新令牌
1.当刷新令牌过期时,重复步骤(1)
Snowflake OAuth基于OAuth 2.0,您可以在此处参考RFC:https://datatracker.ietf.org/doc/html/rfc6749

相关问题