
# 使用自定义认证
 #### 创建自定义认证的API
在ROMA Connect中创建一个使用自定义认证的API。
1. 在实例控制台的左侧导航栏选择"服务集成 APIC \> API列表"，在页面右上角单击"创建API"。
2. 在创建API页面配置API的前端请求信息。
   图1前端请求信息   
   ![](https://support.huaweicloud.com/bestpractice-roma/zh-cn_image_0000001676073321.png "点击放大")
   表1前端请求信息 
   | 参数    | 说明                                                                                                                                                                                                                                                                                                                                                                                                 |
   |:---|:---|
   | API名称 | 填写API的名称，自定义。                                                                                                                                                                                                                                                                                                                                                                                      |
   | 集成应用  | 选择[创建用于前端认证的函数后端](https://support.huaweicloud.com/bestpractice-roma/roma_05_0063.html#roma_05_0063__section8918105432716)中创建的集成应用。                                                                                                                                                                                                                                                                 |
   | 所属分组  | 选择前端API所属的API分组。若没有可用的API分组，可单击右侧的"创建分组"，创建一个API分组。                                                                                                                                                                                                                                                                                                                                                |
   | URL   | 配置API的URL。 - 请求方法：选择API的请求方法，此处选择"GET"。  - 请求协议：选择API使用的请求协议，此处选择使用"HTTPS"。  - 路径：填写API的请求路径，格式如：/getUserInfo/{userId}，此处以"/test"为例。   |
   | 匹配模式  | 选择API请求路径的匹配模式，此处选择"绝对匹配"。                                                                                                                                                                                                                                                                                                                                                                         |
   | 标签    | 保持默认设置。                                                                                                                                                                                                                                                                                                                                                                                            |
   | 描述    | 保持默认设置。                                                                                                                                                                                                                                                                                                                                                                                            |
      
   
3. 配置API的安全配置信息。
   图2安全配置信息   
   ![](https://support.huaweicloud.com/bestpractice-roma/zh-cn_image_0000001676182617.png "点击放大")
   表2安全配置信息 
   | 参数       | 说明                                                                                                                                |
   |:---|:---|
   | 类型       | 选择是否允许API上架到云市场，"公开"为表示允许。本配置样例中不涉及上架操作，此处保持默认设置即可。                                                                               |
   | 安全认证     | 安全认证方式选择"自定义认证"。                                                                                                                  |
   | 自定义认证    | 选择[创建前端自定义认证](https://support.huaweicloud.com/bestpractice-roma/roma_05_0063.html#roma_05_0063__section144301313122820)中创建的自定义认证。 |
   | 支持跨域CORS | 保持默认设置，不开启。                                                                                                                       |
      
   
4. 配置API的请求参数。为简单起见，此处不定义请求参数，直接单击"下一步"。
5. 选择"后端服务类型"，为简单起见，本配置样例中选择"Mock"类型后端服务，固定返回指定响应结果。
6. 配置API的后端配置信息。
   图3后端配置信息   
   ![](https://support.huaweicloud.com/bestpractice-roma/zh-cn_image_0000001675953325.png "点击放大")
   表3后端配置信息 
   | 参数         | 配置说明                                                                |
   |:---|:---|
   | Mock自定义返回码 | 选择API响应的HTTP状态码，此处选择"200"。                                          |
   | Mock返回结果   | 填写API的响应结果，此处填写为"ROMA TEST!"，即用户在调用该API时，API固定返回"ROMA TEST!"作为响应结果。 |
   | 后端认证       | 保持默认设置，不开启。                                                         |
   | 添加header参数 | 保持默认设置。                                                             |
      
   
7. 配置返回结果的响应示例，为简单起见，此处保持默认设置。
8. 完成后单击"完成"。 API创建成功后，自动跳转到API运行页面，可查看API的详细信息。
   
 
#### 调试API
1. 在API运行页面左侧选择[创建自定义认证的API]中创建的API，然后在页面右上角单击"调试"。
2. 在调试界面中选择"Headers"参数页签，然后单击"新增请求参数"。
3. 在新增的请求参数中，"参数名"填写"x-auth"，"参数值"填写"user1:xxxx"。
   图4API调试   
   ![](https://support.huaweicloud.com/bestpractice-roma/zh-cn_image_0000001627428192.png "点击放大") 
4. 单击URL右侧的"调试"，页面下方显示调用API发送的请求信息和接收的响应结果信息。 此时，响应结果中显示调用API成功的响应信息"ROMA TEST!"。
   ```
   HTTP/1.1 200 OK
   Transfer-Encoding: chunked
   Connection: keep-alive
   Content-Type: application/json
   ...
   ROMA TEST!
   ```
   
5. 删除[3]中增加的请求参数"x-auth"，然后再次单击"调试"。
   此时，响应结果中显示调用API失败的响应信息，报错信息为鉴权信息错误。
   ```
   HTTP/1.1 401 Unauthorized
   Transfer-Encoding: chunked
   Connection: keep-alive
   Content-Type: application/json
   ...
   {"error_msg":"Incorrect authentication information: frontend authorizer","error_code":"APIC.0305","request_id":"56b2c6ae4a49f44b88670201eade9e05"}
   ```
   
 
