
# 如何通过Postman获取用户Token
Postman是网页调试与辅助接口调用的工具，具有界面简洁清晰、操作方便快捷的特性，可以处理用户发送的HTTP请求，例如：GET，PUT、POST，DELETE等，支持用户修改HTTP请求中的参数并返回响应数据。
Token是用户的访问令牌，承载了用户的身份、权限等信息，用户调用API接口时，需要使用Token进行鉴权。
本章节指导用户如何通过Postman获取用户Token。更多参数说明请参见[获取IAM用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)。
#### 前提条件
已安装并注册Postman。
![](https://support.huaweicloud.com/nlp_faq/public_sys-resources/note_3.0-zh-cn.png)
- 如果您没有安装Postman，建议[通过API Explorer获取用户Token](https://support.huaweicloud.com/nlp_faq/iam_01_0034.html)。
- 如需安装，建议选择支持Header超过32K的Postman版本，否则可能会报Header溢出错误。
 
#### 操作步骤
1. 编辑获取用户Token接口的Request URL、Header、Body，进行具体的API调用。 
   - **Request URL**
     格式为：https://*IAM地区与终端节点地址* /*API接口URI*
     1. 访问网址：[地区与终端节点](https://developer.huaweicloud.com/endpoint)，获取IAM区域与终端节点地址。
        目前自然语言处理基础、语言生成、语言理解和机器翻译服务的API均支持"华北-北京四"区域。
        图1IAM区域与终端节点   
        ![](https://support.huaweicloud.com/nlp_faq/zh-cn_image_0000001117350707.png)
        
        
     
     2. 访问网址：[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)，获取API接口的URI。
        以cn-north4为例，则Request URL为：https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens
        
     
     3. 选择API接口获取方式，并将Request URL填写至postman中。
        图2Request URL示例   
        ![](https://support.huaweicloud.com/nlp_faq/zh-cn_image_0000001117569883.jpg) 
       
   
   - **Request Header**
     key：Content-Type，value：application/json;charset=utf8
     图3Headers参数示例   
     ![](https://support.huaweicloud.com/nlp_faq/zh-cn_image_0000001117350565.jpg) 
   
   - **Request Body**
     修改Request Body样例中参数。
     ```
     {
     "auth": {
     "identity": {
     "methods": [
                                     "password"
                              ],
     "password": {
     "user": {
     "domain": {
     "name": "账号名"
     },
     "name": "IAM用户名",
     "password": "IAM用户密码"
     }
     }
     },
     "scope": {
     "domain": {
     "name": "账号名"
     }
     }
     }
       }
     ```
     ![](https://support.huaweicloud.com/nlp_faq/public_sys-resources/note_3.0-zh-cn.png)
     - 获取账号名、IAM用户名，请参见：[获取账号、IAM用户、项目名称和ID](https://support.huaweicloud.com/api-iam/iam_17_0002.html#section0)。
       如果未创建IAM用户，请先使用管理员账号创建IAM用户，在创建IAM用户时会设置IAM用户密码，详情请参见[创建IAM用户](https://support.huaweicloud.com/usermanual-iam/iam_02_0001.html)。
       
     
     - 如果是第三方系统用户，没有在本系统设置登录密码，可以通过系统登录页面的找回密码功能设置登录密码，并在password中输入新设置的密码。
       
   
   
   
   
2. 单击"Send"，发送API请求。 
   ![](https://support.huaweicloud.com/nlp_faq/zh-cn_image_0000001117194753.jpg)
   
   
   
3. 在返回的响应头中查看获取的用户Token，用户调用IAM其他API接口时，可以使用该Token进行鉴权。 
   ![](https://support.huaweicloud.com/nlp_faq/zh-cn_image_0000001117433091.jpg)
   ![](https://support.huaweicloud.com/nlp_faq/public_sys-resources/note_3.0-zh-cn.png)
   - Token的有效期为24小时，需要使用一个Token鉴权时，可以先缓存起来，避免频繁调用。
   
   - 如果返回错误码，例如401，表示认证失败，请确认Request Body中请求参数填写正确后重新发送请求。
   
   - 如果您的调试结果异常，提示*"Header Overflow"* ，可以参考[故障处理]解决Header溢出问题。
    
   
   
 
 #### 故障处理
目前发现v7.25.0、v7.26.0及以上版本Postman由于配置问题，无法正常获取用户Token，会有Header Overflow异常报错。
- **方法一：**
  建议使用低版本Postman，经测试V 5.xx版本可以正常访问。
  
- **方法二：**
  修改如下样例中的参数，使用curl命令获取Token：
  ```
  curl -ik -X POST -H 'Content-Type=application/json;charset=utf8' -d '{"auth": {"identity": {"methods": ["password"],"password": {"user": {"domain": {"name": "账号名"},"name": "IAM用户名","password": "IAM用户密码"}},},"scope": {"domain": {"name": "账号名"}}}}' https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
  ```
  
- **方法三：**
  通过向Postman传递附加环境变量NODE_OPTIONS=--max-http-header-size=16384 (16KB)，指定最大HTTP标头大小（以字节为单位）。
  以下分别是在不同操作系统进行操作的命令行：
  - macOS
    ```
    NODE_OPTIONS=--max-http-header-size=16384 /Applications/Postman.app/Contents/MacOS/Postman
    ```
    
  
  - Linux
    ```
    NODE_OPTIONS=--max-http-header-size=16384 /path/to/Postman/Postman
    ```
    
  
  - Windows
    ```
    set NODE_OPTIONS=--max-http-header-size=16384 
    C:\users\<username>\AppData\local\Postman\Postman.exe
    ```
    
   
 
