执行 wso2is REST API

问题描述

我想拨打 wso2is Tenant API,但无法获得正确的身份验证步骤。我正在使用

生成访问令牌
curl -v -X POST -H "Authorization: Basic <auth>" -k -d "grant_type=password&username=admin&password=admin" -H "Content-Type:application/x-www-form-urlencoded" https://localhost:9443/oauth2/token

但在执行任何租户 API 端点时未从服务器获得任何响应。

解决方法

  1. 创建服务提供者并将其配置为 OIDC 客户端应用程序。 (1)

  2. 使用以下命令生成访问令牌。

curl -u <CLIENT_ID>:<CLIENT_SECRET> -k -d "grant_type=password&username=<USERNAME>&password=<PASSWORD>&scope=<REQUIRED_SCOPE>" -H "Content-Type:application/x-www-form-urlencoded" https://<IS-HOST>:<PORT>/oauth2/token

您必须相应地替换 <CLIENT_ID><CLIENT_SECRET><USERNAME><PASSWORD><REQUIRED_SCOPE><IS-HOST><PORT>。 更多信息:(2)

添加所需范围时,请查看 API definition 中每个端点的所需范围部分。例如,如果您想生成一个访问令牌以在 GET https://<HOST>:<PORT>/api/server/v1/tenants 请求的授权中使用,您应该将 internal_list_tenants 作为范围传递。您也可以传递由 scapes 分隔的多个范围。

  1. 使用检索到的访问令牌授权 REST 端点。如果您在未传递所需范围的情况下生成令牌,您将收到来自 REST API 调用的 403 Forbidden 响应。更多信息 (3)