为 Oracle ORDS 设置身份验证 RESTful API - 无法检索访问令牌 - HTTP 状态 401 "Unauthorized"

Setting up authentication for Oracle ORDS RESTful API - Can't retrieve access token - HTTP status 401 "Unauthorized"

我正在尝试按照 Oracle-Base Oracle Rest Data Service (ORDS) Authentication tutorial 为示例 ORDS API 设置基于 OAuth2 客户端凭据的身份验证。我已经尝试在 OAuth 下检索访问令牌:客户端凭据,但我得到的是“401 Unauthorized”,而不是示例中预期的“200 OK”。

我正在使用下面的 cURL 命令检索访问令牌。请注意,我已经替换了 OAuth 客户端 ID 和客户端密码;模式别名也不同。否则命令与教程中的示例尽可能相同。

curl -i -k --user clientIdEtc..:clientSecretEtc.. --data "grant_type=client_credentials" http://localhost:8080/ords/schemaalias/oauth/token

我已经测试过 API 在没有配置身份验证的情况下工作。

由于我在示例环境中工作,因此我通过 HTTP 而不是 HTTPS 进行连接。我按照教程开头的说明允许 OAuth over HTTP,如果我没有这样做,我会收到 403 Forbidden 错误。

我仔细检查了各种人工制品,包括 ORDS 角色、特权、特权到角色关联、特权映射、客户端、客户端特权和客户端角色,据我所知它们是匹配的。

我正在使用 ORDS 版本 18.1.1.95.1251,它是使用 WebLogic Server 12c 部署的。

取决于问题的原因所在:

我发现我使用了错误的端口号(即 http://localhost:8080 而不是 http://localhost:7002)。