易班登陆接口接入实例
接入流程:
一,准备工作:
1,去易班开放平台申请成为易班开发者并创建一个web应用。
2,获取到APPID和APPSECRET,这两个东西是这个应用的唯一凭证;
3,上面的首页地址和回调地址先写成你的网站首页地址
二,具体操作:
去易班开放平台下载好SDK:https://open.yiban.cn/wiki/index.php?page=SDK下载
解压获得jar包,导入到项目中,开始接入
创建一个工具类AppContext保存你的网站信息数据:
主要参数:
App_ID:易班提供的APPID
APP_SEC:易班提供的APPSECRET
BACK_URL:自己设置的网站回调地址
设置一个易班登陆按钮,点击登录->跳转以执行以下代码:
Authorize authorize = new Authorize(AppContext.APP_ID, AppContext.APP_SEC);
String url=authorize.forwardurl(AppContext.BACK_URL, "QUERY", Authorize.DISPLAY_TAG_T.MOBILE);
response.sendRedirect(url);
此时获得的url会跳转到一个易班登录界面请求用户输入账号密码授权登录,一旦用户登录成功,将会跳转到你所设置的回调地址,并附带一个code参数(极其重要);
在回调地址的页面执行以下代码:
//获取code
String code = request.getParameter("code");
/创建Authorize对象
Authorize authorize = new Authorize(AppContext.APP_ID, AppContext.APP_SEC);
//获得json数据
JSONObject json = JSONObject.fromObject(authorize.querytoken(code, AppContext.BACK_URL));
//获得accessToken授权凭证
String accessToken = json.getString("access_token");
//用授权凭证获得易班的User用户对象
cn.yiban.open.common.User yibanUser = new cn.yiban.open.common.User(accessToken);
//把user保存到session方便后续获取数据
request.getSession().setAttribute("yibanUser", yibanUser);
//获取易班用户User信息具体实例:
JSONObject userInfo = JSONObject.fromObject(yibanUser.me()).getJSONObject("info");int yibanId = userInfo.getInt("yb_userid");//获取用户id
String name = userInfo.getString("yb_usernick");//获取用户名字
String sex = userInfo.getString("yb_sex");//获取用户性别
String headImage = userInfo.getString("yb_userhead");//获取用户头像地址
更多用户信息参考易班api;
参考资料:
https://blog.csdn.net/u010513756/article/details/50535657
https://blog.csdn.net/qq_33698579/article/details/78241695
易班登陆接口接入实例相关推荐
- 易班php,易班轻应用开发:PHP版
最近易班的APP接入了我们学校,虽然很多地区评价为毒瘤,流氓等等,应用市场评价也是最低级别.但是,作为开发者,就不管它了,本文写的是一个查询成绩的轻应用(传送门:青果教务查成绩),这里就只说说,如何接 ...
- 易班轻应用开发:PHP版
最近易班的APP接入了我们学校,虽然很多地区评价为毒瘤,流氓等等,应用市场评价也是最低级别.但是,作为开发者,就不管它了,本文写的是一个查询成绩的轻应用(传送门:青果教务查成绩),这里就只说说,如何接 ...
- 如何使用java调用易班登录API获取个人账号信息(一)
关于这篇文章: 笔者近期和小伙伴接了校方的一个小小小项目,要求使用易班APP的账号,这意味着需要调用易班官方的登录API.下面介绍使用java语言作为后端,在自己的网站如何接入易班的登录API(轻应用 ...
- 易班开放平台授权机制理解以及使用
前言 作为一名使用易班开发平台的技术人员,最常见就是调用易班开发API,获取用户的信息,发送站内信给用户,获取用户的经验和网薪值.当然,在此之前要获取用户的授权(access_token),再去调用接 ...
- IM开发基础知识补课:正确理解前置HTTP SSO单点登陆接口的原理
1.前言 一个安全的信息系统,合法身份检查是必须环节.尤其IM这种以"人"为中心的社交体系,身份认证更是必不可少. 一些PC时代小型IM系统中,身份认证可能直接做到长连接中(也就是 ...
- IM开发基础知识补课(一):正确理解前置HTTP SSO单点登陆接口的原理
1.前言 一个安全的信息系统,合法身份检查是必须环节.尤其IM这种以"人"为中心的社交体系,身份认证更是必不可少. 一些PC时代小型IM系统中,身份认证可能直接做到长连接中(也就是 ...
- 易班php,易班PHP-认证sdk解析
先上sdk的核心代码,代码是使用php写的,非常容易理解,我甚至想起了我亲戚家小孩看的<宝宝的PHP>. /** * @package YBAPI * * 授权认证接口 * * 使用授权认 ...
- JavaScript——易班优课YOOC课群课程视频立刻完成解决方案
问题分析 当视频即将播放完成时,会发送AJAX 源代码 <script type="text/javascript">window.int = self.setInte ...
- APP逆向之易班(第一篇)
原本是不想写的,因为这个APP的这个版本其实很简单,后来想了下觉得还行记录一下吧.主要是记录每一次逆向能加深其中学到的知识点内容.也算是给自己一个交代,无论以后还是菜鸡也好还是成了大牛也罢,至少这一刻 ...
- php实现易班登录,简单的易班申请授权以及使用方式
//以下三个变量内容需换成本应用的$APPID = ""; //在open.yiban.cn管理中心的AppID$APPSECRET = ""; //在open ...
最新文章
- 经验总结!我们是如何在编程面试中挂掉的
- python图像配准的原理_python利用sift和surf进行图像配准
- seaborn 常用画图
- 第十一篇:(顺序)容器的好伴侣 --- 容器适配器
- c++复习日记3 模板和流
- 解决SQLServer2008安装失败最直白的解决方式
- 知其然也知其所以然,Redis笔记总结:核心原理与应用实践
- iOS的三种常见计时器(NStimer、CADisplayLink、dispatch_source_t)的使用
- 【渝粤题库】国家开放大学2021春2412基础写作题目
- 牛客网--14708--小猪佩奇练打字
- 反编译简书app和小红书app滑动效果sticky粘性头布局的实现CoordinatorLayout+behavior
- BSV疯狂暴涨,最大赢家竟然是…
- HbuilderX没有管理员权限,无法安装插件
- 无穷的分数,有时会趋向于固定的数字。 请计算【图1.jpg】所示的无穷分数,要求四舍五入,精确到小数点后5位,小数位不足的补0。 图1.jpg 请填写该浮点数,不能填写任何多余的内容。
- ubuntu下使用360wifi2
- 莫逸风CSDN文章目录
- User Interface-Wintop Commands-用例1:Implementing the Statechart Diagram
- 打印设置自定义表尾_Excel2013打印时怎么固定表头及表尾让打印后的每页都可以看得到...
- mysql连接1130 - host_Mysql数据库连接报错!1130:host XXX is not allowed to connect to this mysql server...
- ipad air和ipad pro的区别
热门文章
- tspl 重置打印机命令_打印机取消任务命令
- 严格对角占优矩阵特征值_对角占优矩阵的性质.doc
- javascript百度地图使用(根据地名定位、根据经纬度定位)
- python散点图圆形区域_python – Matplotlib;散点图标记,圆内点
- word文档设置不同的页眉页脚
- matlab 单相整流电路,MATLAB的单相桥式整流电路研究
- ORACLE RAC安装问题解决记录(5)- 未设置cluster_database导致 ORA-01102 cannot mount database in EXCLUSIVE mode
- Excel对图片的组合以及选择
- JavaScript 日期和时间基础知识
- QT制作简易串口助手