Udesk 即时通讯网页插件客户身份认证(一、Java签名篇)

作者:张振琦

网站登录用户通过web im进行聊天对话时,可以将客户信息通过链接转给Udesk,这样客服在与客户对话时,就可以直接查看客户信息。通过客户信息辅助组件也可以进一步了解此客户的订单等其他信息。

我们就来一步一步实现WebIM插件的客户信息传入,核心还是一个身份签名算法。我们需要如下参数:

参数名称 类型 说明
nonce String 随机数 随机数,动态的比静态随机数安全系数更高
timestamp String 时间戳 当前时间戳(13位毫秒)
web_token String 客户ID 客户唯一标示,推荐使用邮箱、手机号等仅支持字母、数字及下划线,禁用特殊字符
im_user_key String 系统获取 添加客户信息的KEY

im_user_key,在WebIM插件的基本信息选项卡内获取。

在这里插入图片描述
生成签名只需要三步:

  1. 拼接原始字符串 格式:sign_str = nonce=value&timestamp=value&web_token=value&im_user_key
  2. 使用加密算法计算出签名字符串 sign_str = sha1(sign_str) 或者 sign_str = sha256(sign_str)
  3. 将字符串转换为大写 sign_str = sign_str.toUpperCase()

签名都需要在服务端实现,我们使用Java来实现一个获取签名的服务,使用Servlet实现,签名加密支持SHA1和SHA256两种,我们选用SHA1。代码如下。
WebIM.java

package com.udesk.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;
import com.google.gson.Gson;
import com.udesk.common.SHA1;
import com.udesk.common.SignInput;
import com.udesk.common.SignResult;

public class WebIM extends
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值