使用 HTTP 客户端调用 REST API
IBM Sterling® Order Management支持调用 REST API 的基本和标准身份验证。 缺省情况下, REST 认证设置为标准认证。 要定义要使用的认证样式,请完成以下步骤:
- 配置认证样式属性。
- 重新启动应用程序服务器。
- 通过配置 HTTP 身份验证样式启动 REST API。
配置认证样式属性
缺省情况下, servlet.authstyle 设置为 STANDARD。 IBM 建议在更高级别的环境中进行标准认证。 您可以根据业务需要将认证样式用作 BASIC 或 STANDARD。
针对当前环境类型配置 xapirest.properties 。 将 servlet.authstyle 属性设置为 BASIC 或 STANDARD。 根据环境类型,可以在开发工具包中的 customer_overrides.properties 文件中设置属性,也可以使用 Sterling™ Order Management云实例中的系统管理管理员设置属性。
有关 xapirest.properties的更多信息,请参阅 xapirest.properties。
如果要使用 HTTP REST XAPI Tester 进行开发和测试,请参阅设置 HTTP REST XAPI Tester。
重新启动应用程序服务器
更改认证样式时,必须重新启动所有应用程序服务器。
有关更多信息,请参阅 在下一代平台上管理服务器进程。
通过配置 HTTP 验证样式调用 REST API
标准认证
要设置 STANDARD 认证样式,请执行以下步骤:
- 使用以下 URL 通过 REST 调用登录 API:
http://<ip-address>:<port>//smcfs/restapi/invoke/login方法-POST
介质类型-
application/json - 提供登录的有效内容:
{ "LoginID" : "yourUserLogin", "Password" : "UserPassword" }API 返回以下结果:"UserGroupID": "ItemAdministratorGroup", "UserToken": "mXffVPKgo9HUoftxg0HsyX3uQQP6o4LmAG3HHnfiVTrtQvx3dyYUX8n6793wggmU15", "UserName": "Administrator", - 在后续调用中使用登录调用期间生成的 UserToken 。 用户将 _loginid 和 _token 作为 REST API URL 的查询参数。例如,要启动服务器 (GET) API,请使用以下 URL :
http://localhost:<port>/smcfs/restapi/server?_loginid=admin&_token=mXffVPKgo9HUoftxg0HsyX3uQQP6o4LmAG3HHnfiVTrtQvx3dyYUX8n6793wggmU15
注意: 必须使用 HTTP 客户端(如 Postman)进行标准身份验证。 HTTP REST XAPI 测试仪仅支持基本认证。
基本认证
HTTP REST XAPI 测试仪仅支持基本认证。 不过,如果要使用自己的 HTTP 客户端,请执行以下步骤:要设置 BASIC 身份验证样式,必须提供一个标头,并执行以下 base64 编码:
- 获取由用户登录名和用户私钥组成的 base64 编码令牌。 使用冒号并置这些值。 例如,如果用户名为 testuser ,密码为 testsecret,那么通过使用 base64 编码器,可以执行以下命令:
echo -n "testuser:testsecret"|openssl base64结果:dGVzdHVzZXI6dGVzdHNlY3JldA==在 REST API 调用期间,将此令牌用作用于认证的基本令牌。
- 使用基本 base64 令牌来调用 REST API。在 HTTP 请求标头中包含以下值:例如,
Authorization: BASICcurl --location --request GET 'http://localhost:/smcfs/restapi/server'--header 'Authorization: Basic dGVzdHVzZXI6dGVzdHNlY3JldA=='--header 'Content-Type: application/json'
有关调用 REST API 服务的更多信息,请参阅 调用 REST 服务。
有关更多信息,请参阅 API 安全性。