OpenIM 获取到用户的 Token

需要的工具:postman 或其他API测试工具

需要的环境:

  • 服务器:openim-server和openim-chat
  • 本地:openim-server和openim-chat

如果选择本地部署,可以按照以下步骤进行:

bashCopy codegit clone https://github.com/OpenIMSDK/Open-IM-Server openim-server
cd openim-server
make restart

然后,启动聊天服务:

bashCopy codegit clone https://github.com/OpenIMSDK/chat openim-chat
cd openim-chat
make start

开始

首先需要注册用户,详细信息可以查看文档:用户注册文档open in new window

请求方法

  • POST

请求URL

  • http://localhost:10002/user/user_register

请求头

Header 名称示例值是否可选类型描述
operationID1646445464564必填string全局链接追踪的操作ID

请求参数示例

jsonCopy code{
  "secret": "openIM123",
  "users": [
    {
      "userID": "11111112",
      "nickname": "yourNickname",
      "faceURL": "yourFaceURL"
    }
  ]
}

其中,需要为用户设置一些信息,如nicknamefaceURL,但这些信息也可以留空。

secret参数的值根据你的配置来决定,通常是根据config.yaml文件中的配置而来。

userID需要保存下来,因为后面获取Token会用到。

成功注册返回示例

jsonCopy code{
  "errCode": 0,
  "errMsg": "",
  "errDlt": ""
}

表示成功注册,现在可以继续获取Token。

获取 Token

请求方法

  • POST

请求URL

  • http://localhost:10002/auth/user_token

请求头

Header 名称示例值是否可选类型描述
operationID1646445464564必填string全局链接追踪的操作ID

请求参数示例

jsonCopy code{
  "secret": "openIM123",
  "platformID": 1,
  "userID": "11111112"
}

注意,userID需要使用前面注册时得到的UserID

成功返回示例

jsonCopy code{
    "errCode": 0,
    "errMsg": "",
    "errDlt": "",
    "data": {
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySUQiOiIxMTExMTExMiIsIlBsYXRmb3JtSUQiOjEsImV4cCI6MTcwNjU5NTM0MCwibmJmIjoxNjk4ODE5MDQwLCJpYXQiOjE2OTg4MTkzNDB9.YOeKRSwvTF0_yRNB3XwOCIYaTC-swVzxRjnHidUo4xw",
        "expireTimeSeconds": 7776000
    }
}

现在已经成功注册并获得了Token。

检查用户

发出POST请求:

  • http://localhost:10002/user/account_check

请求头:

Header 名称示例值是否可选类型描述
operationID1646445464564必填string全局链接追踪的操作ID
token${TOKEN}必填stringAdmin token

${TOKEN}需要替换为之前获取到的Token:

jsonCopy code{
  "checkUserIDs": [
    "11111111",
    "11111112"
  ]
}

注意,检查用户需要使用管理员token进行操作。可以通过以下方法获取管理员Token:

  1. 注册:http://localhost:10002/auth/user_token
  2. 使用以下参数进行注册:
jsonCopy code{
  "secret": "openIM123",
  "platformID": 1,
  "userID": "openIM123456"
}

请求地址为http://localhost:10002/user/account_check,请求体为:

jsonCopy code{
    "errCode": 0,
    "errMsg": "",
    "errDlt": "",
    "data": {
        "results": [
            {
                "userID": "11111111",
                "accountStatus": "unregistered"
            },
            {
                "userID": "11111112",
                "accountStatus": "registered"
            }
        ]
    }
}

获取用户信息

API 地址:http://localhost:10002/user/get_users

请求体:

jsonCopy code{
  "pagination": {
    "pageNumber": 1,
    "showNumber": 100
  }
}

返回结果示例:

{
    "errCode": 0,
    "errMsg": "",
    "errDlt": "",
    "data": {
        "total": 4,
        "users": [
            {
                "userID": "11111112",
                "nickname": "yourNickname",
                "faceURL": "yourFaceURL",
                "ex": "",
                "createTime": 1699260936619,
                "appMangerLevel": 1,
                "globalRecvMsgOpt": 0
            },
            {
                "userID": "openIM123456",
                "nickname": "system1",
                "faceURL": "",
                "ex": "",
                "createTime": 1699241222762,
                "appMangerLevel": 2,
                "globalRecvMsgOpt": 0
            },
            {
                "userID": "openIM654321",
                "nickname": "system2",
                "faceURL": "",
                "ex": "",
                "createTime": 1699241222762,
                "appMangerLevel": 2,
                "globalRecvMsgOpt": 0
            },
            {
                "userID": "openIMAdmin",
                "nickname": "system3",
                "faceURL": "",
                "ex": "",
                "createTime": 1699241222762,
                "appMangerLevel": 2,
                "globalRecvMsgOpt": 0
            }
        ]
    }
}