IM 应用场景中如何限制只有好友之间才能互发消息?

郑天寿
• 阅读 167

功能介绍 好友关系由开发者的应用服务器自行维护好友关系,融云服务器提供消息发送能力,消息发送过程中默认不会做任何权限校验

得到 userId 后即可发送消息,例如:A 发送消息给 B,只需要把 B 的 userId 传给融云服务即可发送消息

这样易用的设计可以使开发者高度自由集成自己业务,无需关心和融云的数据同步、安全问题

但如果 userId 如果泄漏,岂不是可以越过开发者的好友关系,向任意用户发送消息?针对此中情况可采用 用户白名单服务

白名单关系是双向的,只有将对方加入自己的白名单,对方才能送消息给自己,反之一样

例如:

开通消息白名单后 A、B 之间互发消息

1、A 需要添加 B 到 A 的用户白名单中

2、B 需要添加 A 到 B 的用户白名单中

经过以上两步后方可互发消息,解决 userId 泄漏导致非好友之间可任意发送消息

注意: 用户白名单开通后,用户黑名单将实效,需要将黑名单用户数据转换至用户白名单中

功能使用

1、申请开通功能,提交工单提申请,操作路径:融云开发者后台 → 技术支持 → 创建工单 ,开发者后台地址:https://developer.rongcloud.cn

2、设置用户白名单需要开发者的服务器来调用,详细可参考 Server API: http://doc.rongcloud.cn/imserver/server/v1/user/whitelist

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
2年前
IM 消息服务架构
IM消息架构主要有1、消息redis缓存队列及用户信息memcache2、消息的数据落地(入库mysql)3、消息的发送4、离线消息服务5、过期消息服务消息redis缓存队列服务端落地队列1.客户端通过HTTPS
Wesley13 Wesley13
2年前
Java消息服务JMS详解
JMS:Java消息服务(JavaMessageService)JMS是用于访问企业消息系统的开发商中立的API。企业消息系统可以协助应用软件通过网络进行消息交互。JMS的编程过程很简单,概括为:应用程序A发送一条消息到消息服务器的某个目得地(Destination),然后消息服务器把消息转发给应用程序B。因为应
Wesley13 Wesley13
2年前
JMS介绍
JMS消息传送模型    点对点消息传送模型  在点对点消息传送模型中,应用程序由消息队列,发送者,接收者组成。每一个消息发送给一个特殊的消息队列,该队列保存了所有发送给它的消息(除了被接收者消费掉的和过期的消息)。点对点消息模型有一些特性,如下:每个消息只有一个接收者;消息发送者和接收者并没有时间依
Wesley13 Wesley13
2年前
CCBPM工作流引擎的消息机制与设计
CCBPM工作流引擎的消息机制与设计关键字:ccflowjflow消息机制流程引擎自动发送短信发送邮件发送消息流程引擎微信连接消息接口关于ccbpm:我们把ccflowjflow两个版本的工作流引擎统称为ccbpm.工作流引擎的消息产生:在发送、抄送、退回、转发、加签、删除等等操作过程中
Stella981 Stella981
2年前
Kafka生产者发送消息的三种方式
Kafka是一种分布式的基于发布/订阅的消息系统,它的高吞吐量、灵活的offset是其它消息系统所没有的。Kafka发送消息主要有三种方式:1.发送并忘记2.同步发送3.异步发送回调函数下面以单节点的方式分别用三种方法发送1w条消息测试:方式一:发送并忘记(不关心消息是否正常到达,对返回结果不做任何判断处理)发送并忘记的方式本质上也
Stella981 Stella981
2年前
Spring Boot+Socket实现与html页面的长连接,客户端给服务器端发消息,服务器给客户端轮询发送消息,附案例源码
功能介绍1.客户端给所有在线用户发送消息2.客户端给指定在线用户发送消息3.服务器给客户端发送消息(轮询方式)注意:socket只是实现一些简单的功能,具体的还需根据自身情况,代码稍微改造下项目搭建项目结构图!(https://img2020.cnblogs.com/blog/15044
Stella981 Stella981
2年前
RabbitMQ延迟消息发送
为什么使用延迟消息?不同于同步消息,有些业务场景下希望可以实现延迟一定时间再消费消息。典型的场景有微信、支付宝等第三方支付回调接口,会在用户支付后3秒、5秒、30秒等等时间后向应用服务器发送回调请求,确保应用服务器可以正确收到消息。那有些朋友就会说了,把需要定时处理的数据存到数据库中用定时任务就可以实现,为什么还弄个异步消息。增加后台维护
郑天寿 郑天寿
5个月前
单聊、群聊、聊天室、超级群在融云端历史消息存储时间分别是多长?
单聊历史消息与群聊历史消息在融云为同一项存储服务:单群聊历史消息云存储。需自行在开发者后台IM服务管理页面的普通服务标签下开通,开通后单聊、群聊历史消息默认存储6个月。
郑天寿 郑天寿
5个月前
消息丢失排查方法?
遇到丢消息问题,如果是单聊,群聊,聊天室,系统消息可以在开发者后台北极星自助查询一下消息是否发送成功。根据您实际发送的相关信息(发送者、接收者、时间、消息ID……)看是否可以查到消息如果消息查不到一般有几种可能:信息有误(获取token的用户id跟您系统中
郑天寿 郑天寿
5个月前
IM 应用场景中如何限制只有好友之间才能互发消息?
功能介绍好友关系由开发者的应用服务器自行维护好友关系,融云服务器提供消息发送能力,消息发送过程中默认不会做任何权限校验得到userId后即可发送消息,例如:A发送消息给B,只需要把B的userId传给融云服务即可发送消息这样易用的设计可以使开发者高度自由集