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
开始
首先需要注册用户,详细信息可以查看文档:用户注册文档
请求方法
POST
请求URL
http://localhost:10002/user/user_register
请求头
Header 名称 | 示例值 | 是否可选 | 类型 | 描述 |
---|---|---|---|---|
operationID | 1646445464564 | 必填 | string | 全局链接追踪的操作ID |
请求参数示例
jsonCopy code{
"secret": "openIM123",
"users": [
{
"userID": "11111112",
"nickname": "yourNickname",
"faceURL": "yourFaceURL"
}
]
}
其中,需要为用户设置一些信息,如nickname
和faceURL
,但这些信息也可以留空。
secret
参数的值根据你的配置来决定,通常是根据config.yaml
文件中的配置而来。
userID
需要保存下来,因为后面获取Token会用到。
成功注册返回示例
jsonCopy code{
"errCode": 0,
"errMsg": "",
"errDlt": ""
}
表示成功注册,现在可以继续获取Token。
获取 Token
请求方法
POST
请求URL
http://localhost:10002/auth/user_token
请求头
Header 名称 | 示例值 | 是否可选 | 类型 | 描述 |
---|---|---|---|---|
operationID | 1646445464564 | 必填 | 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 名称 | 示例值 | 是否可选 | 类型 | 描述 |
---|---|---|---|---|
operationID | 1646445464564 | 必填 | string | 全局链接追踪的操作ID |
token | ${TOKEN} | 必填 | string | Admin token |
${TOKEN}
需要替换为之前获取到的Token:
jsonCopy code{
"checkUserIDs": [
"11111111",
"11111112"
]
}
注意,检查用户需要使用管理员token进行操作。可以通过以下方法获取管理员Token:
- 注册:http://localhost:10002/auth/user_token
- 使用以下参数进行注册:
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
}
]
}
}