我想连接到snowflake数据库,它正在使用OAuth 2.0如何连接数据库。我最初能够连接(运行 springboot 应用程序后),但一小时后显示 Oauth 令牌已过期。
我已使用 Azure AD 注册了我的应用程序,并获取了客户端 ID、秘密、范围、用于令牌生成的 grantType
我当前正在使用 WebClient 接收令牌并将其作为密码传递到数据源连接。我知道连接池没有使用更新后的密码,如何配置它,有没有比 WebClient 更好的方法,或者我是否遗漏了什么?我正在生产中,DriverManager 是一个很好的方法还是 DataSource。
OAuth 访问令牌是短暂的。
如果令牌是给用户的,您可以向授权服务器请求刷新令牌。
使用授权类型refresh_token,您可以使用刷新令牌更新访问令牌。
但是如果访问令牌是针对客户端的,那么在这种情况下,用户不存在;因此,预计当前访问令牌到期时将请求新的访问令牌。
因此,如果您拥有为用户生成的访问令牌,则可以使用refresh_token流程来更新访问令牌。
请参阅以下文章,其中讨论了相同的内容。 用户的 Oauth 外部。