WSO2 EI 6.5.0中BigQuery Connector 1.0.9的AccessToken自动刷新失效问题
解决WSO2 EI 6.5.0 BigQuery Connector V1.0.9 OAuth令牌自动刷新失效问题
以下是针对你的问题的具体解决步骤:
修正令牌刷新端点配置
你遇到的/oauth2/v3/token404问题,是因为Google OAuth2的正确刷新端点是https://oauth2.googleapis.com/token,而非连接器默认的错误路径。需要在bigquery.init操作中显式指定正确的端点:<bigquery.init> <clientId>你的ClientID</clientId> <clientSecret>你的ClientSec</clientSecret> <refreshToken>你的RefreshToken</refreshToken> <tokenEndpoint>https://oauth2.googleapis.com/token</tokenEndpoint> <!-- 保留其他原有参数 --> </bigquery.init>执行该初始化操作后,连接器会使用正确的端点进行令牌刷新。
验证Refresh Token的权限
确认你的Refresh Token拥有offline_access权限——Google OAuth中只有包含该scope的Refresh Token才能长期用于刷新AccessToken。如果之前生成凭证时未添加该scope,需要重新生成OAuth凭证:- 在Google Cloud Console的OAuth授权请求中添加
offline_accessscope - 重新获取包含离线权限的Refresh Token,替换现有凭证后重新执行
bigquery.init
- 在Google Cloud Console的OAuth授权请求中添加
清理注册表中旧的令牌数据
注册表中存储的旧令牌元数据可能残留错误配置,导致刷新失败:- 登录WSO2 EI管理控制台,进入Registry -> Browse
- 定位到
/_system/config/bigquery/路径,删除该目录下的所有令牌存储节点 - 重新执行
bigquery.init操作,确保新的端点和凭证被正确存储
检查连接器版本兼容性与补丁
BigQuery Connector V1.0.9可能存在适配WSO2 EI 6.5.0的刷新逻辑bug:- 查看WSO2官方连接器库,确认是否有适配EI 6.5.0的更新版本,若有则升级连接器
- 若无更新版本,可启用调试日志排查具体问题:修改
repository/conf/log4j2.properties,添加
重启EI后查看logger.bigquery.name = org.wso2.carbon.connector.bigquery logger.bigquery.level = DEBUGrepository/logs/wso2carbon.log,根据调试信息定位刷新流程中的具体错误。
内容的提问来源于stack exchange,提问作者Justin
相关产品推荐
相关产品推荐

