Java IM环信服务端集成之用户注册(三)
来源:互联网 发布:蝴蝶效应3 知乎 编辑:程序博客网 时间:2024/05/19 18:43
移动端用户注册 VS 环信IM用户注册
一、IM 用户管理
注册 IM 用户[单个]
在 URL 指定的 org 和 APP 中创建一个新的用户,分两种模式:开放注册和授权注册。
- “开放注册”模式:注册环信账号时,不用携带管理员身份认证信息;
- “授权注册”模式:注册环信账号时,必须携带管理员身份认证信息。推荐使用“授权注册”,这样可以防止某些已经获取了注册URL 和知晓注册流程的人恶意向服务器大量注册垃圾用户。
注意:以下API 中提到的 ${token} 是个变量,使用时需要替换成通过 APP 的 client_id 和 client_secret 获取到的 token。
1.1 开放注册部分
package com.xunxin.service.app;import java.util.ArrayList;import java.util.Date;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import com.xunxin.dao.app.AppUserDao;import com.xunxin.dao.sys.MessageDao;import com.xunxin.dao.sys.PlatformMutualityManagentDao;import com.xunxin.util.HttpUtils;import com.xunxin.util.HttpUtils.UHeader;import com.xunxin.util.app.IDGeneratorUtil;import com.xunxin.util.app.ValidationUtil;import com.xunxin.vo.app.exception.LoginExceptionConstant;import com.xunxin.vo.app.exception.RegisterExceptionConstant;import com.xunxin.vo.sys.PlatformMutualityManagent;import com.xunxin.vo.user.UserEntity;import com.xunxin.web.api.exception.LoginException;import com.xunxin.web.api.exception.RegisterException;/** * Copyright © 2017 noseparte(Libra) © Like the wind, like rain * @Author Noseparte * @Compile 2017年10月11日 -- 下午4:57:41 * @Version 1.0 * @Descriptionapp端的用户监管 */@Service("appUserService")public class AppUserService {private static final String LINKED_URL = "https://a1.easemob.com/";@Autowiredprivate AppUserDao appUserDao;@Autowiredprivate MessageDao messageDao;@Autowiredprivate PlatformMutualityManagentDao platformMutualityManagentDao;public boolean register(int platform_id, String phone, int verifyCode, String user_password) {//----------------------------//获取环信应用信息PlatformMutualityManagent pm = platformMutualityManagentDao.findOne(platform_id);String app_key = pm.getApp_key();String username = "xunxin" + "|" + phone;//环信 IDString password = "xunxin" + "|" + user_password;//用户密码String org_name = app_key.split("#")[0];//组织名称String app_name = app_key.split("#")[1];//APP名称//----------------------------//注册IM[单个]//post请求路径String register_url = LINKED_URL + org_name + "/" + app_name + "/" + "users";StringBuffer register_sb = new StringBuffer();register_sb.append("username=").append(username);register_sb.append("&password=").append(password);String register_argJson = register_sb.toString();//请求头信息Listregister_headerList = new ArrayList ();register_headerList.add(new UHeader("Content-Type", "application/json"));String register_resp = HttpUtils.getPostResponse(register_url, register_argJson, register_headerList);//解析环信注册返回的JSONJSONObject register_obj = JSON.parseObject(register_resp);String applicationName = register_obj.getString("applicationName");if(applicationName.equals("followheart")) {System.out.println("环信注册成功");}//手机号输入有误if(!ValidationUtil.matchMobile(phone)) {throw new RegisterException(RegisterExceptionConstant.PHONE_NUMBER_IS_WRONG);}int isExist = appUserDao.findByPhone(phone);//用户已存在if(isExist == 0) {throw new RegisterException(RegisterExceptionConstant.LOGIN_NAME_IS_EXIST);}//手机号输入有误if(!ValidationUtil.matchPassWord(password)) {throw new RegisterException(RegisterExceptionConstant.PASSWORD_ERROR);}//验证码int code = messageDao.findLastOneByPhone(phone);if(verifyCode != code) {throw new RegisterException(RegisterExceptionConstant.VERIFY_CODE_ERROR);}//密码输入有误if(!ValidationUtil.matchPassWord(password)) {throw new RegisterException(RegisterExceptionConstant.PASSWORD_ERROR);}//一切正常,开始进入注册流程UserEntity entity = new UserEntity(phone, IDGeneratorUtil.createAppCode(), 0, password, new Date());appUserDao.save(entity); //TODO//大功告成return true;}
1.2 授权注册部分
Github地址:https://github.com/noseparte
Email:noseparte@aliyun.com 有java与hadoop相关的技术问题,可以发私信与我交流。
NPM地址:https://www.npmjs.com/~noseparte
个人网站 : http://www.noseparte.com/ Copyright © 2017 noseparte
阅读全文
0 0
- Java IM环信服务端集成之用户注册(三)
- Java IM环信服务端集成之用户体系集成(二)
- Java IM环信服务端集成之创建应用(一)
- 环信接入java后台注册IM用户
- 环信im集成
- 环信服务端java集成代码示例
- iOS - IM环信集成
- iOS 环信集成方法之注册环信账号
- 环信IM (一)注册
- 环信IM 集成服务器端(php
- 环信IM客户端集成(整理)
- 环信IM集成到android项目
- 环信集成网页的im
- 环信IM (三)对话
- 环信服务端集成(PHP)
- 环信集成服务端封装类-聊天室
- 环信IM(3.x)android版sdk集成小结
- 环信IM即时通讯快速集成和基本功能的使用
- 2017开学训练第九周周末总结
- 3 OF 100DAYS
- interrupte()方法详解
- 文章标题
- android studio升级到3.0之后的一些配置变化
- Java IM环信服务端集成之用户注册(三)
- 反转部分单向链表
- 深入理解行内元素的布局
- 手把手教你写Dockerfile, 附赠MongoDB和Nginx Dockerfile编写实例
- 纪念C语言之父丹尼斯·里奇离世6周年
- C++三大特性 -- 封装
- Java Api Consumer 连接启用Kerberos认证的Kafka
- 百度编辑器的使用
- 链栈