You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle自治数据库SODA OAuth客户端凭证认证异常排查及解决

问题:Oracle Autonomous Database SODA for REST OAuth认证异常

测试背景

我正在测试Oracle Autonomous Database的JSON SODA功能,在「使用OAuth客户端凭证的SODA for REST」章节前,所有步骤均正常运行,但测试该章节时出现异常。

首次错误现象

执行以下curl命令:

curl -i -H "Authorization: Bearer zSK2VYerEjIB4TmX7SVrGg" -X GET https://gxxxxxxxxxxxxxx-yyyyyy.adb.eu-stockholm-1.oraclecloudapps.com/ords/my_client/soda/latest

返回404错误:

HTTP/1.1 404 Not Found
Date: Sat, 12 Oct 2024 09:43:55 GMT
Content-Type: application/problem+json
Content-Length: 181
Connection: keep-alive

{
"code": "NotFound",
"message": "Not Found",
"type": "tag:oracle.com,2020:error/NotFound",
"instance": "tag:oracle.com,2020:ecid/2f98809191ff9c3094347f5c031a0cdb"
}

按指导操作后的状态

按照建议操作后,成功获取到OAuth token,但执行SODA查询时返回401未授权:

获取token的命令及结果

curl \
--user aaaaaaaaaa..:bbbbbbbbbb.. \
--data 'grant_type=client_credentials' \
https://gyyyyyyyyyy-zzzzzz.adb.eu-stockholm-1.oraclecloudapps.com/ords/peka/oauth/token
{"access_token":"Bp9iAzk-ICda0q0bPYxJvQ","token_type":"bearer","expires_in":3600}

执行查询的命令及结果

curl -i -X POST \
-H "Authorization: Bearer Bp9iAzk-ICda0q0bPYxJvQ" \
-H "Content-Type: application/json" \
--data '{}' \
https://gyyyyyyyyyy-zzzzzz.adb.eu-stockholm-1.oraclecloudapps.com/ords/peka/soda/latest/MyTest?action=query
HTTP/1.1 401 Unauthorized
Date: Sat, 12 Oct 2024 17:23:11 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
Strict-Transport-Security: max-age=31536000;includeSubDomains
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN

{"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2","status":401,"title":"unauthorized","detail":"Not authorized."}

最终解决方案

通过添加-k参数忽略SSL证书校验,成功完成OAuth认证并执行SODA查询:

获取有效token的命令

curl -i -k --user "xxxxxxxxx..:yyyyyyyyyyy.." \
--data "grant_type=client_credentials" \
"https://zzzzzzzz-99999999.adb.eu-stockholm-1.oraclecloudapps.com/ords/peka/oauth/token"

Result: XdXMYiAMfhACM1QtT6qAxg

执行查询的命令及结果

curl -s -H "Authorization: Bearer XdXMYiAMfhACM1QtT6qAxg" -X GET https://zzzzzzzz-99999999.adb.eu-stockholm-1.oraclecloudapps.com/ords/peka/soda/latest/MyJson | jq -r '.items[0].value.name'

Result: Frank Zappa

结果正确,问题解决。


内容的提问来源于stack exchange,提问作者PeterK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 12:25:24