From 820c78b5894166feef01dcffba12824c7d89618c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=82=85=E4=B8=9C=E6=B5=B7?= <296322762@qq.com> Date: Tue, 20 Jul 2021 11:29:36 +0800 Subject: [PATCH 01/14] Update README.md --- agora-app-server/README.md | 46 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/agora-app-server/README.md b/agora-app-server/README.md index 63c9469..a19222e 100644 --- a/agora-app-server/README.md +++ b/agora-app-server/README.md @@ -1,3 +1,49 @@ # AgoraAppServer AgoraAppServer用来获取声网Token 环信AppServer通过http接口获取Token + +**Path:** `http://localhost:8080/token/rtcToken/v1` + +**HTTP Method:** `GET` + +**Permission:** App管理员 + +**Request Parameters:** 无 + +```json +?userAccount=test1&channelName=live&appkey=easemob-demo%23test&agoraUserId=0 +``` + +**Request Headers:** + +| 参数 | 说明 | +| --- | --- | +| Content-Type | application/json | +| Authorization | Bearer ${token} | + +**Request Body示例:** + +**Request Body参数说明:** + +| 参数 | 类型 | 说明 | +| --- | --- | --- | +| userAccount | String | 用户名(环信的用户名) | +| channelName | String | 要加入的声网频道名称 | +| appkey | String| 环信的appkey | +| agoraUserId | Integer | 声网用户id(传0,会随机生成一个1~Integer.MAX_VALUE的数字) | + +**请求示例:** + +``` +curl -X GET "http://localhost:8080/token/rtcToken/v1?userAccount=test1&channelName=live&appkey=easemob-demo%23test&agoraUserId=0" -H 'Authorization: Bearer YWMthkKMWmqAEeuWOHGo9_t4wU1-S6DcShHjkNXh_7qs2vUf00sg7jER6bLYLZbUGGVWAwMAAAF3hKuxYwBPGgCO8gCSzYq-vmRwQVc23oJ2n1HxZmHJIJPedliCLokptg' +``` + +**返回示例:** + +```json +{ + "code": "RES_0K", + "accessToken": "006970CA35de60c44645bbae8a215061b33IACMDSlu5iFb6KRUFHJfPGkwABytAJfHZb3PGR7S+2cGUwYf3+74PfJ8IgD4AIB/3H0vYAQAAQBsOi5gAgBsOi5gAwBsOi5gBABsOi5g", + "expireTime": 86400, + "agoraUserId":123 +} From cace817f0d733fbc9af2016e51cb81599e95134f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=82=85=E4=B8=9C=E6=B5=B7?= <296322762@qq.com> Date: Tue, 20 Jul 2021 11:32:42 +0800 Subject: [PATCH 02/14] Update README.md --- agora-app-server/README.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/agora-app-server/README.md b/agora-app-server/README.md index a19222e..24cc327 100644 --- a/agora-app-server/README.md +++ b/agora-app-server/README.md @@ -8,10 +8,15 @@ AgoraAppServer用来获取声网Token **Permission:** App管理员 -**Request Parameters:** 无 +**Request Parameters:** ```json -?userAccount=test1&channelName=live&appkey=easemob-demo%23test&agoraUserId=0 +| 参数 | 类型 | 说明 | +| --- | --- | --- | +| userAccount | String | 用户名(环信的用户名) | +| channelName | String | 要加入的声网频道名称 | +| appkey | String| 环信的appkey | +| agoraUserId | Integer | 声网用户id(传0,会随机生成一个1~Integer.MAX_VALUE的数字) | ``` **Request Headers:** @@ -23,14 +28,7 @@ AgoraAppServer用来获取声网Token **Request Body示例:** -**Request Body参数说明:** - -| 参数 | 类型 | 说明 | -| --- | --- | --- | -| userAccount | String | 用户名(环信的用户名) | -| channelName | String | 要加入的声网频道名称 | -| appkey | String| 环信的appkey | -| agoraUserId | Integer | 声网用户id(传0,会随机生成一个1~Integer.MAX_VALUE的数字) | +**Request Body参数说明:** 无 **请求示例:** From e2ea38959485fef0505e0f38c0e624d92d0bde9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=82=85=E4=B8=9C=E6=B5=B7?= <296322762@qq.com> Date: Tue, 20 Jul 2021 11:45:39 +0800 Subject: [PATCH 03/14] Update README.md --- agora-app-server/README.md | 74 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 72 insertions(+), 2 deletions(-) diff --git a/agora-app-server/README.md b/agora-app-server/README.md index 24cc327..780f6be 100644 --- a/agora-app-server/README.md +++ b/agora-app-server/README.md @@ -1,6 +1,7 @@ # AgoraAppServer AgoraAppServer用来获取声网Token -环信AppServer通过http接口获取Token + +**API说明:** 获取声网token。 **Path:** `http://localhost:8080/token/rtcToken/v1` @@ -26,16 +27,27 @@ AgoraAppServer用来获取声网Token | Content-Type | application/json | | Authorization | Bearer ${token} | -**Request Body示例:** +**Request Body示例:** 无 **Request Body参数说明:** 无 + **请求示例:** ``` curl -X GET "http://localhost:8080/token/rtcToken/v1?userAccount=test1&channelName=live&appkey=easemob-demo%23test&agoraUserId=0" -H 'Authorization: Bearer YWMthkKMWmqAEeuWOHGo9_t4wU1-S6DcShHjkNXh_7qs2vUf00sg7jER6bLYLZbUGGVWAwMAAAF3hKuxYwBPGgCO8gCSzYq-vmRwQVc23oJ2n1HxZmHJIJPedliCLokptg' ``` +**Response Parameters:** + +```json +| 参数 | 类型 | 说明 | +| --- | --- | --- | +| code | String | 结果状态码 | +| accessToken | String | 声网token | +| expireTime | int | 过期时间单位(秒) | +``` + **返回示例:** ```json @@ -45,3 +57,61 @@ curl -X GET "http://localhost:8080/token/rtcToken/v1?userAccount=test1&channelNa "expireTime": 86400, "agoraUserId":123 } +``` + + +**API说明:** 根据频道名称获取频道详情。 + +**Path:** `http://localhost:8080/channel/mapper` + +**HTTP Method:** `GET` + +**Permission:** App管理员 + +**Request Parameters:** + +```json +| 参数 | 类型 | 说明 | +| --- | --- | --- | +| channelName | String | 要加入的声网频道名称 | +| userAccount | String | 用户名(环信的用户名) | +| appkey | String| 环信的appkey | +``` + +**Request Headers:** + +| 参数 | 说明 | +| --- | --- | +| Content-Type | application/json | +| Authorization | Bearer ${token} | + +**Request Body示例:** 无 + +**Request Body参数说明:** 无 + + +**请求示例:** + +``` +curl -X GET "http://localhost:8080/channel/mapper?channelName=live&appkey=easemob-demo%23test&userAccount=test1" -H 'Authorization: Bearer YWMthkKMWmqAEeuWOHGo9_t4wU1-S6DcShHjkNXh_7qs2vUf00sg7jER6bLYLZbUGGVWAwMAAAF3hKuxYwBPGgCO8gCSzYq-vmRwQVc23oJ2n1HxZmHJIJPedliCLokptg' +``` + +**Response Parameters:** + +```json +| 参数 | 类型 | 说明 | +| --- | --- | --- | +| code | String | 结果状态码 | +| channelName | String | 声网频道名称 | +| result | JSON| agoraUserId与环信id的映射 | +``` + +**返回示例:** + +```json +{ + "code": "RES_0K", + "channelName": "channelName", + "result": {"123":"1"} +} +``` From 669128feed42e6f0430283844565876201e9e9ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=82=85=E4=B8=9C=E6=B5=B7?= <296322762@qq.com> Date: Tue, 20 Jul 2021 11:46:58 +0800 Subject: [PATCH 04/14] Update README.md --- agora-app-server/README.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/agora-app-server/README.md b/agora-app-server/README.md index 780f6be..18a7c24 100644 --- a/agora-app-server/README.md +++ b/agora-app-server/README.md @@ -11,14 +11,12 @@ AgoraAppServer用来获取声网Token **Request Parameters:** -```json | 参数 | 类型 | 说明 | | --- | --- | --- | | userAccount | String | 用户名(环信的用户名) | | channelName | String | 要加入的声网频道名称 | | appkey | String| 环信的appkey | | agoraUserId | Integer | 声网用户id(传0,会随机生成一个1~Integer.MAX_VALUE的数字) | -``` **Request Headers:** @@ -40,13 +38,11 @@ curl -X GET "http://localhost:8080/token/rtcToken/v1?userAccount=test1&channelNa **Response Parameters:** -```json | 参数 | 类型 | 说明 | | --- | --- | --- | | code | String | 结果状态码 | | accessToken | String | 声网token | | expireTime | int | 过期时间单位(秒) | -``` **返回示例:** @@ -70,13 +66,11 @@ curl -X GET "http://localhost:8080/token/rtcToken/v1?userAccount=test1&channelNa **Request Parameters:** -```json | 参数 | 类型 | 说明 | | --- | --- | --- | | channelName | String | 要加入的声网频道名称 | | userAccount | String | 用户名(环信的用户名) | | appkey | String| 环信的appkey | -``` **Request Headers:** @@ -98,13 +92,11 @@ curl -X GET "http://localhost:8080/channel/mapper?channelName=live&appkey=easemo **Response Parameters:** -```json | 参数 | 类型 | 说明 | | --- | --- | --- | | code | String | 结果状态码 | | channelName | String | 声网频道名称 | | result | JSON| agoraUserId与环信id的映射 | -``` **返回示例:** From 403da1af8dd40337737f4a95a25fcdbd4fe35e98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=82=85=E4=B8=9C=E6=B5=B7?= <296322762@qq.com> Date: Tue, 20 Jul 2021 11:49:15 +0800 Subject: [PATCH 05/14] Update README.md --- agora-app-server/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/agora-app-server/README.md b/agora-app-server/README.md index 18a7c24..ead98d6 100644 --- a/agora-app-server/README.md +++ b/agora-app-server/README.md @@ -1,6 +1,8 @@ # AgoraAppServer AgoraAppServer用来获取声网Token +## 获取声网token + **API说明:** 获取声网token。 **Path:** `http://localhost:8080/token/rtcToken/v1` @@ -56,6 +58,8 @@ curl -X GET "http://localhost:8080/token/rtcToken/v1?userAccount=test1&channelNa ``` +## 获取声网频道信息 + **API说明:** 根据频道名称获取频道详情。 **Path:** `http://localhost:8080/channel/mapper` From 76b86bb19156847b7ff0aa49e05555824968571f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=82=85=E4=B8=9C=E6=B5=B7?= <296322762@qq.com> Date: Tue, 20 Jul 2021 16:09:16 +0800 Subject: [PATCH 06/14] Update README.md --- agora-app-server/README.md | 60 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 2 deletions(-) diff --git a/agora-app-server/README.md b/agora-app-server/README.md index ead98d6..ccedf5b 100644 --- a/agora-app-server/README.md +++ b/agora-app-server/README.md @@ -1,7 +1,63 @@ # AgoraAppServer -AgoraAppServer用来获取声网Token -## 获取声网token + +## 介绍 +AgoraAppServer是用来获取声网Token的开源项目。 + +## 功能 +AgoraAppServer提供了获取声网token、获取频道内环信id与声网id映射关系的能力。 + +## 技术选择 +* [Spring Boot](https://spring.io/projects/spring-boot) + +## 主要组件 +* [Jedis](https://tool.oschina.net/uploads/apidocs/redis/clients/jedis/Jedis.html) +* [AgoraIO Tools](https://github.com/AgoraIO/Tools/tree/dev/accesstoken2/DynamicKey/AgoraDynamicKey/java) + +## 准备 +在获取声网token之前,需要准备环信appkey、REST API访问地址(restServer)、声网App Id(agroaAppId)、声网APP证书(agoraCert) + +获取环信appkey、restServer: +- 1.如果您有环信管理后台账号并创建过应用,请先登录环信管理后台,点击[这里](https://console.easemob.com/user/login),然后到"应用列表" -> 点击"查看"即可获取到appkey。 +- 2.如果您没有环信管理后台账号,请先注册账号,点击[这里](https://console.easemob.com/user/register),注册成功后请登录,然后点击"添加应用",添加成功后点击"查看"即可获取到appkey。 +- 3.然后到"即时通讯" -> "服务概览",拿到REST API访问地址 + +获取agroaAppId、appCert: +- 1.如果您有声网Console后台账号并创建过项目,请先登录声网Console后台,点击[这里](https://sso.agora.io/cn/login/),然后到"项目列表" -> 找到自己的项目点击"编辑"图标后,即可看到App ID、APP证书。 +- 2.如果您没有声网Console后台账号,请先注册账号,点击[这里](https://sso.agora.io/cn/v4/signup),注册成功后按照步骤1操作。 + +## 配置 +配置文件中需要的参数来源于"准备"中获取到的环信appkey、REST API访问地址(restServer)、声网App Id(agroaAppId)、声网APP证书(agoraCert) +- 服务配置文件参考:[application.properties](./agora-app-server/src/main/resources/application.properties) + - AppKey组成规则:${orgName}#${appName},拿到AppKey后可得到对应的orgName和appName; + ``` + ## 环信console 获取自己的rest域名 + application.restServer=xxx + ## 环信console 注册获取的orgname + application.orgName=xxx + ## 环信console 注册获取的appname + application.appName=xxx + + ## 声网console获取appid + application.agoraAppId=xxx + ## 声网console获取appcert + application.agoraCert=xxx + ## 声网token过期时间(自已定义,不能超过1天) + agora.token.expire.period.seconds=86400 + + ## 本地redis + spring.redis.channel.host=localhost + spring.redis.channel.port=6379 + spring.redis.channel.password=123456 + spring.redis.channel.timeout=10000 + spring.redis.channel.expireTime=86400 + ``` + +## 使用 + +上述准备好,启动服务即可使用。 + +以下是接口API: **API说明:** 获取声网token。 From fd89807570caef1281b743fc760c95086f61b8a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=82=85=E4=B8=9C=E6=B5=B7?= <296322762@qq.com> Date: Tue, 20 Jul 2021 16:13:50 +0800 Subject: [PATCH 07/14] Update README.md --- agora-app-server/README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/agora-app-server/README.md b/agora-app-server/README.md index ccedf5b..8a1c91e 100644 --- a/agora-app-server/README.md +++ b/agora-app-server/README.md @@ -1,11 +1,15 @@ # AgoraAppServer + ## 介绍 AgoraAppServer是用来获取声网Token的开源项目。 +获取声网Token流程图: +![获取声网token流程图](https://user-images.githubusercontent.com/15087647/126285697-606492f4-6ee2-458c-81d9-140da827ec53.png) + ## 功能 -AgoraAppServer提供了获取声网token、获取频道内环信id与声网id映射关系的能力。 +AgoraAppServer提供了获取声网Token、获取频道内环信id与声网id映射关系的能力。 ## 技术选择 * [Spring Boot](https://spring.io/projects/spring-boot) @@ -15,7 +19,7 @@ AgoraAppServer提供了获取声网token、获取频道内环信id与声网id映 * [AgoraIO Tools](https://github.com/AgoraIO/Tools/tree/dev/accesstoken2/DynamicKey/AgoraDynamicKey/java) ## 准备 -在获取声网token之前,需要准备环信appkey、REST API访问地址(restServer)、声网App Id(agroaAppId)、声网APP证书(agoraCert) +在获取声网token之前,需要准备环信AppKey、REST API访问地址(restServer)、声网App Id(agroaAppId)、声网APP证书(agoraCert) 获取环信appkey、restServer: - 1.如果您有环信管理后台账号并创建过应用,请先登录环信管理后台,点击[这里](https://console.easemob.com/user/login),然后到"应用列表" -> 点击"查看"即可获取到appkey。 @@ -57,9 +61,9 @@ AgoraAppServer提供了获取声网token、获取频道内环信id与声网id映 上述准备好,启动服务即可使用。 -以下是接口API: +## API -**API说明:** 获取声网token。 +**API说明:** 获取声网Token。 **Path:** `http://localhost:8080/token/rtcToken/v1` From 3a789b9c44c0d8f937141bd51f331aa5e5a22b13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=82=85=E4=B8=9C=E6=B5=B7?= <296322762@qq.com> Date: Tue, 20 Jul 2021 16:27:40 +0800 Subject: [PATCH 08/14] Update README.md --- agora-app-server/README.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/agora-app-server/README.md b/agora-app-server/README.md index 8a1c91e..581f592 100644 --- a/agora-app-server/README.md +++ b/agora-app-server/README.md @@ -1,13 +1,8 @@ # AgoraAppServer - - ## 介绍 AgoraAppServer是用来获取声网Token的开源项目。 -获取声网Token流程图: -![获取声网token流程图](https://user-images.githubusercontent.com/15087647/126285697-606492f4-6ee2-458c-81d9-140da827ec53.png) - ## 功能 AgoraAppServer提供了获取声网Token、获取频道内环信id与声网id映射关系的能力。 @@ -171,3 +166,14 @@ curl -X GET "http://localhost:8080/channel/mapper?channelName=live&appkey=easemo "result": {"123":"1"} } ``` + +## 流程图 +获取声网Token流程图: +![获取声网token流程图](https://user-images.githubusercontent.com/15087647/126285697-606492f4-6ee2-458c-81d9-140da827ec53.png) + +## AgoraIO Tools +AgoraAppServer获取声网token使用的是[AgoraIO Tools](https://github.com/AgoraIO/Tools/tree/dev/accesstoken2/DynamicKey/AgoraDynamicKey/java),AgoraAppServer服务的使用请参考[AgoraIO](./agora-app-server/src/main/java/com/easemob/agora/AgoraIO/RtcTokenBuilder)。 + +生成的token是用于ServiceChat、ServiceRtc +![951C4546-3D9E-47D3-8C67-1C047F436A97](https://user-images.githubusercontent.com/15087647/126287819-41acffb9-7a90-43fb-a6db-8f05332c1582.png) + From f8f9f3098f39fb9d99973a8549f11492c60b0be6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=82=85=E4=B8=9C=E6=B5=B7?= <296322762@qq.com> Date: Tue, 20 Jul 2021 16:29:34 +0800 Subject: [PATCH 09/14] Update README.md --- agora-app-server/README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/agora-app-server/README.md b/agora-app-server/README.md index 581f592..7fdfbfe 100644 --- a/agora-app-server/README.md +++ b/agora-app-server/README.md @@ -167,13 +167,16 @@ curl -X GET "http://localhost:8080/channel/mapper?channelName=live&appkey=easemo } ``` +## AgoraIO Tools +AgoraAppServer获取声网token使用的是[AgoraIO Tools](https://github.com/AgoraIO/Tools/tree/dev/accesstoken2/DynamicKey/AgoraDynamicKey/java),AgoraAppServer服务的使用请参考[AgoraIO](./agora-app-server/src/main/java/com/easemob/agora/AgoraIO)。 + +生成的声网Token可用于ServiceChat、ServiceRtc +RtcTokenBuilder: +![951C4546-3D9E-47D3-8C67-1C047F436A97](https://user-images.githubusercontent.com/15087647/126287819-41acffb9-7a90-43fb-a6db-8f05332c1582.png) + ## 流程图 获取声网Token流程图: ![获取声网token流程图](https://user-images.githubusercontent.com/15087647/126285697-606492f4-6ee2-458c-81d9-140da827ec53.png) -## AgoraIO Tools -AgoraAppServer获取声网token使用的是[AgoraIO Tools](https://github.com/AgoraIO/Tools/tree/dev/accesstoken2/DynamicKey/AgoraDynamicKey/java),AgoraAppServer服务的使用请参考[AgoraIO](./agora-app-server/src/main/java/com/easemob/agora/AgoraIO/RtcTokenBuilder)。 -生成的token是用于ServiceChat、ServiceRtc -![951C4546-3D9E-47D3-8C67-1C047F436A97](https://user-images.githubusercontent.com/15087647/126287819-41acffb9-7a90-43fb-a6db-8f05332c1582.png) From f49cfda8f9dea772b86df7aaab39f971c3e10f5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=82=85=E4=B8=9C=E6=B5=B7?= <296322762@qq.com> Date: Tue, 20 Jul 2021 16:51:44 +0800 Subject: [PATCH 10/14] Update README.md --- agora-app-server/README.md | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/agora-app-server/README.md b/agora-app-server/README.md index 7fdfbfe..db976f4 100644 --- a/agora-app-server/README.md +++ b/agora-app-server/README.md @@ -166,17 +166,3 @@ curl -X GET "http://localhost:8080/channel/mapper?channelName=live&appkey=easemo "result": {"123":"1"} } ``` - -## AgoraIO Tools -AgoraAppServer获取声网token使用的是[AgoraIO Tools](https://github.com/AgoraIO/Tools/tree/dev/accesstoken2/DynamicKey/AgoraDynamicKey/java),AgoraAppServer服务的使用请参考[AgoraIO](./agora-app-server/src/main/java/com/easemob/agora/AgoraIO)。 - -生成的声网Token可用于ServiceChat、ServiceRtc -RtcTokenBuilder: -![951C4546-3D9E-47D3-8C67-1C047F436A97](https://user-images.githubusercontent.com/15087647/126287819-41acffb9-7a90-43fb-a6db-8f05332c1582.png) - -## 流程图 -获取声网Token流程图: -![获取声网token流程图](https://user-images.githubusercontent.com/15087647/126285697-606492f4-6ee2-458c-81d9-140da827ec53.png) - - - From 81a2f786bf46785c113ded1c4acab2e334bae549 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=82=85=E4=B8=9C=E6=B5=B7?= <296322762@qq.com> Date: Tue, 20 Jul 2021 17:28:32 +0800 Subject: [PATCH 11/14] Update README.md --- agora-app-server/README.md | 164 ------------------------------------- 1 file changed, 164 deletions(-) diff --git a/agora-app-server/README.md b/agora-app-server/README.md index db976f4..19b78de 100644 --- a/agora-app-server/README.md +++ b/agora-app-server/README.md @@ -2,167 +2,3 @@ ## 介绍 AgoraAppServer是用来获取声网Token的开源项目。 - -## 功能 -AgoraAppServer提供了获取声网Token、获取频道内环信id与声网id映射关系的能力。 - -## 技术选择 -* [Spring Boot](https://spring.io/projects/spring-boot) - -## 主要组件 -* [Jedis](https://tool.oschina.net/uploads/apidocs/redis/clients/jedis/Jedis.html) -* [AgoraIO Tools](https://github.com/AgoraIO/Tools/tree/dev/accesstoken2/DynamicKey/AgoraDynamicKey/java) - -## 准备 -在获取声网token之前,需要准备环信AppKey、REST API访问地址(restServer)、声网App Id(agroaAppId)、声网APP证书(agoraCert) - -获取环信appkey、restServer: -- 1.如果您有环信管理后台账号并创建过应用,请先登录环信管理后台,点击[这里](https://console.easemob.com/user/login),然后到"应用列表" -> 点击"查看"即可获取到appkey。 -- 2.如果您没有环信管理后台账号,请先注册账号,点击[这里](https://console.easemob.com/user/register),注册成功后请登录,然后点击"添加应用",添加成功后点击"查看"即可获取到appkey。 -- 3.然后到"即时通讯" -> "服务概览",拿到REST API访问地址 - -获取agroaAppId、appCert: -- 1.如果您有声网Console后台账号并创建过项目,请先登录声网Console后台,点击[这里](https://sso.agora.io/cn/login/),然后到"项目列表" -> 找到自己的项目点击"编辑"图标后,即可看到App ID、APP证书。 -- 2.如果您没有声网Console后台账号,请先注册账号,点击[这里](https://sso.agora.io/cn/v4/signup),注册成功后按照步骤1操作。 - -## 配置 -配置文件中需要的参数来源于"准备"中获取到的环信appkey、REST API访问地址(restServer)、声网App Id(agroaAppId)、声网APP证书(agoraCert) -- 服务配置文件参考:[application.properties](./agora-app-server/src/main/resources/application.properties) - - AppKey组成规则:${orgName}#${appName},拿到AppKey后可得到对应的orgName和appName; - ``` - ## 环信console 获取自己的rest域名 - application.restServer=xxx - ## 环信console 注册获取的orgname - application.orgName=xxx - ## 环信console 注册获取的appname - application.appName=xxx - - ## 声网console获取appid - application.agoraAppId=xxx - ## 声网console获取appcert - application.agoraCert=xxx - ## 声网token过期时间(自已定义,不能超过1天) - agora.token.expire.period.seconds=86400 - - ## 本地redis - spring.redis.channel.host=localhost - spring.redis.channel.port=6379 - spring.redis.channel.password=123456 - spring.redis.channel.timeout=10000 - spring.redis.channel.expireTime=86400 - ``` - -## 使用 - -上述准备好,启动服务即可使用。 - -## API - -**API说明:** 获取声网Token。 - -**Path:** `http://localhost:8080/token/rtcToken/v1` - -**HTTP Method:** `GET` - -**Permission:** App管理员 - -**Request Parameters:** - -| 参数 | 类型 | 说明 | -| --- | --- | --- | -| userAccount | String | 用户名(环信的用户名) | -| channelName | String | 要加入的声网频道名称 | -| appkey | String| 环信的appkey | -| agoraUserId | Integer | 声网用户id(传0,会随机生成一个1~Integer.MAX_VALUE的数字) | - -**Request Headers:** - -| 参数 | 说明 | -| --- | --- | -| Content-Type | application/json | -| Authorization | Bearer ${token} | - -**Request Body示例:** 无 - -**Request Body参数说明:** 无 - - -**请求示例:** - -``` -curl -X GET "http://localhost:8080/token/rtcToken/v1?userAccount=test1&channelName=live&appkey=easemob-demo%23test&agoraUserId=0" -H 'Authorization: Bearer YWMthkKMWmqAEeuWOHGo9_t4wU1-S6DcShHjkNXh_7qs2vUf00sg7jER6bLYLZbUGGVWAwMAAAF3hKuxYwBPGgCO8gCSzYq-vmRwQVc23oJ2n1HxZmHJIJPedliCLokptg' -``` - -**Response Parameters:** - -| 参数 | 类型 | 说明 | -| --- | --- | --- | -| code | String | 结果状态码 | -| accessToken | String | 声网token | -| expireTime | int | 过期时间单位(秒) | - -**返回示例:** - -```json -{ - "code": "RES_0K", - "accessToken": "006970CA35de60c44645bbae8a215061b33IACMDSlu5iFb6KRUFHJfPGkwABytAJfHZb3PGR7S+2cGUwYf3+74PfJ8IgD4AIB/3H0vYAQAAQBsOi5gAgBsOi5gAwBsOi5gBABsOi5g", - "expireTime": 86400, - "agoraUserId":123 -} -``` - - -## 获取声网频道信息 - -**API说明:** 根据频道名称获取频道详情。 - -**Path:** `http://localhost:8080/channel/mapper` - -**HTTP Method:** `GET` - -**Permission:** App管理员 - -**Request Parameters:** - -| 参数 | 类型 | 说明 | -| --- | --- | --- | -| channelName | String | 要加入的声网频道名称 | -| userAccount | String | 用户名(环信的用户名) | -| appkey | String| 环信的appkey | - -**Request Headers:** - -| 参数 | 说明 | -| --- | --- | -| Content-Type | application/json | -| Authorization | Bearer ${token} | - -**Request Body示例:** 无 - -**Request Body参数说明:** 无 - - -**请求示例:** - -``` -curl -X GET "http://localhost:8080/channel/mapper?channelName=live&appkey=easemob-demo%23test&userAccount=test1" -H 'Authorization: Bearer YWMthkKMWmqAEeuWOHGo9_t4wU1-S6DcShHjkNXh_7qs2vUf00sg7jER6bLYLZbUGGVWAwMAAAF3hKuxYwBPGgCO8gCSzYq-vmRwQVc23oJ2n1HxZmHJIJPedliCLokptg' -``` - -**Response Parameters:** - -| 参数 | 类型 | 说明 | -| --- | --- | --- | -| code | String | 结果状态码 | -| channelName | String | 声网频道名称 | -| result | JSON| agoraUserId与环信id的映射 | - -**返回示例:** - -```json -{ - "code": "RES_0K", - "channelName": "channelName", - "result": {"123":"1"} -} -``` From b973feb658000744e9c11ec08415d9fac88c37d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=82=85=E4=B8=9C=E6=B5=B7?= <296322762@qq.com> Date: Fri, 31 Dec 2021 15:51:59 +0800 Subject: [PATCH 12/14] Update README.md --- README.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/README.md b/README.md index e439c9a..f44c53c 100644 --- a/README.md +++ b/README.md @@ -123,10 +123,6 @@ docker run -p 8080:8080 easemob/easemob-im-live-server - 直播间服务需调用环信REST接口,该模块提供调用环信REST服务,包含token、user、chatroom API的调用,封装了调用所需的RequestBody、ResponseBody。 -#### [qiniu-service](./qiniu-service) - -- 获取七牛云直播推拉流地址。 - #### [agora-server](./agora-app-server) - 获取声网token。 @@ -145,6 +141,3 @@ docker run -p 8080:8080 easemob/easemob-im-live-server - 直播间支持点播功能 - 直播间支持Docker部署 - 直播间详情返回的成员列表过滤了owner - -### 1.0.2.Final -- 支持获取七牛云推拉流地址 From 2a8045a9969eea86cfe3ba6e3232bfce47ef446e Mon Sep 17 00:00:00 2001 From: zuotaorui Date: Thu, 24 Mar 2022 14:23:46 +0800 Subject: [PATCH 13/14] cancel auth check --- agora-app-server/pom.xml | 5 +- .../easemob/agora/AgoraServerApplication.java | 2 + .../easemob/agora/config/SecurityConfig.java | 47 ++++++++++--------- .../token/TokenAuthenticationProvider.java | 2 +- .../UsernameAuthenticationProvider.java | 2 +- .../SecurityAuthenticationEntryPoint.java | 2 +- pom.xml | 13 ++++- 7 files changed, 45 insertions(+), 28 deletions(-) diff --git a/agora-app-server/pom.xml b/agora-app-server/pom.xml index e8b46a4..020a093 100644 --- a/agora-app-server/pom.xml +++ b/agora-app-server/pom.xml @@ -54,7 +54,10 @@ 2.6 compile - + + org.springframework.cloud + spring-cloud-starter-consul-discovery + diff --git a/agora-app-server/src/main/java/com/easemob/agora/AgoraServerApplication.java b/agora-app-server/src/main/java/com/easemob/agora/AgoraServerApplication.java index 2032a45..c683bae 100644 --- a/agora-app-server/src/main/java/com/easemob/agora/AgoraServerApplication.java +++ b/agora-app-server/src/main/java/com/easemob/agora/AgoraServerApplication.java @@ -2,6 +2,7 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; /** * ClassName: SpringBootApplication @@ -9,6 +10,7 @@ * author: lijian * date: 2021-01-19 09:15 **/ +@EnableDiscoveryClient @SpringBootApplication public class AgoraServerApplication { diff --git a/agora-app-server/src/main/java/com/easemob/agora/config/SecurityConfig.java b/agora-app-server/src/main/java/com/easemob/agora/config/SecurityConfig.java index a7a7a72..e9da940 100644 --- a/agora-app-server/src/main/java/com/easemob/agora/config/SecurityConfig.java +++ b/agora-app-server/src/main/java/com/easemob/agora/config/SecurityConfig.java @@ -32,7 +32,7 @@ ) public class SecurityConfig extends WebSecurityConfigurerAdapter { - @Autowired + /*@Autowired private SecurityAuthenticationEntryPoint unauthorizedHandler; @Autowired @@ -49,17 +49,17 @@ public TokenAuthenticationProcessingFilter tokenFilter() { @Bean public UsernameAuthenticationProcessingFilter usernameFilter() { return new UsernameAuthenticationProcessingFilter(); - } + }*/ @Bean public RestTemplate restTemplate(RestTemplateBuilder builder) { return builder.build(); } - @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { + /* @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.authenticationProvider(tokenAuthenticationProvider); auth.authenticationProvider(usernameProvider); - } + }*/ @Override protected void configure(HttpSecurity http) throws Exception { @@ -69,32 +69,33 @@ public RestTemplate restTemplate(RestTemplateBuilder builder) { .csrf() .disable() .exceptionHandling() - .authenticationEntryPoint(unauthorizedHandler) + //.authenticationEntryPoint(unauthorizedHandler) .and() .sessionManagement() .sessionCreationPolicy(SessionCreationPolicy.STATELESS) .and() - .authorizeRequests() - .antMatchers("/", - "/management/**", - "/favicon.ico", - "/**/*.png", - "/**/*.gif", - "/**/*.svg", - "/**/*.jpg", - "/**/*.html", - "/**/*.css", - "/**/*.js") - .permitAll() - .antMatchers("/token/**", "/channel/**") - .hasAuthority("user") - .anyRequest() - .authenticated(); + .anonymous(); +// .authorizeRequests() +// .antMatchers("/", +// "/management/**", +// "/favicon.ico", +// "/**/*.png", +// "/**/*.gif", +// "/**/*.svg", +// "/**/*.jpg", +// "/**/*.html", +// "/**/*.css", +// "/**/*.js") +// .permitAll() +// .antMatchers("/token/**", "/channel/**") +// .hasAuthority("user") +// .anyRequest() +// .authenticated(); // 添加token auth filter // 也可以支持username password的方式只需要配置相应的filter和provider - http.addFilterBefore(tokenFilter(), UsernamePasswordAuthenticationFilter.class); - http.addFilterAfter(usernameFilter(), TokenAuthenticationProcessingFilter.class); + //http.addFilterBefore(tokenFilter(), UsernamePasswordAuthenticationFilter.class); + //http.addFilterAfter(usernameFilter(), TokenAuthenticationProcessingFilter.class); } } diff --git a/agora-app-server/src/main/java/com/easemob/agora/config/auth/token/TokenAuthenticationProvider.java b/agora-app-server/src/main/java/com/easemob/agora/config/auth/token/TokenAuthenticationProvider.java index 23a0b6d..3c50e3a 100644 --- a/agora-app-server/src/main/java/com/easemob/agora/config/auth/token/TokenAuthenticationProvider.java +++ b/agora-app-server/src/main/java/com/easemob/agora/config/auth/token/TokenAuthenticationProvider.java @@ -12,7 +12,7 @@ import java.util.Collections; @Slf4j -@Component +//@Component public class TokenAuthenticationProvider implements AuthenticationProvider { @Autowired diff --git a/agora-app-server/src/main/java/com/easemob/agora/config/auth/username/UsernameAuthenticationProvider.java b/agora-app-server/src/main/java/com/easemob/agora/config/auth/username/UsernameAuthenticationProvider.java index cfda3c3..d26f8d7 100644 --- a/agora-app-server/src/main/java/com/easemob/agora/config/auth/username/UsernameAuthenticationProvider.java +++ b/agora-app-server/src/main/java/com/easemob/agora/config/auth/username/UsernameAuthenticationProvider.java @@ -11,7 +11,7 @@ import java.util.Collections; @Slf4j -@Component +//@Component public class UsernameAuthenticationProvider implements AuthenticationProvider { private final RestManger restManger; diff --git a/agora-app-server/src/main/java/com/easemob/agora/config/security/SecurityAuthenticationEntryPoint.java b/agora-app-server/src/main/java/com/easemob/agora/config/security/SecurityAuthenticationEntryPoint.java index e26de9f..000c928 100644 --- a/agora-app-server/src/main/java/com/easemob/agora/config/security/SecurityAuthenticationEntryPoint.java +++ b/agora-app-server/src/main/java/com/easemob/agora/config/security/SecurityAuthenticationEntryPoint.java @@ -11,7 +11,7 @@ import java.io.IOException; @Slf4j -@Component +//@Component public class SecurityAuthenticationEntryPoint implements AuthenticationEntryPoint { @Override diff --git a/pom.xml b/pom.xml index ff5fc2d..33b9610 100644 --- a/pom.xml +++ b/pom.xml @@ -77,5 +77,16 @@ 1.2.51 - + + + + + org.springframework.cloud + spring-cloud-dependencies + Greenwich.SR6 + pom + import + + + From 2358cac19dc22c5a99e3169fc6c34817afcdba08 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 17 Jun 2022 02:54:59 +0000 Subject: [PATCH 14/14] Bump fastjson from 1.2.51 to 1.2.83 Bumps [fastjson](https://github.com/alibaba/fastjson) from 1.2.51 to 1.2.83. - [Release notes](https://github.com/alibaba/fastjson/releases) - [Commits](https://github.com/alibaba/fastjson/compare/1.2.51...1.2.83) --- updated-dependencies: - dependency-name: com.alibaba:fastjson dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 33b9610..83cf4f7 100644 --- a/pom.xml +++ b/pom.xml @@ -74,7 +74,7 @@ com.alibaba fastjson - 1.2.51 + 1.2.83