保姆式手把手教你接入易班开放平台接入个人外部网站

您所在的位置:网站首页 易班app是干什么的 保姆式手把手教你接入易班开放平台接入个人外部网站

保姆式手把手教你接入易班开放平台接入个人外部网站

2023-07-30 18:40| 来源: 网络整理| 查看: 265

引言

这段时间因为开发需求需要在易班开放平台上接入外部网站,可在上线后从易班平台访问。其中有许多需要定性要求,比如网站的接入、调用易班官方api登录授权等。

本教程为从易班接入外部网站,但易班其余外部客户端如应用等接入方法大同小异

一、查看官方文档说明 接入易班的概述与目的:

网站接入是易班针对第三方网站提供的社会化网络接入方案。接入易班授权让您的网站支持用易班帐号登录, 让用户方便的分享网站内容、在网站上关注您的易班动态,快速为网站增加用户、流量和推广度。

如何创建网站接入

见官方指南图

官方指南看似很简单,但实际开发过程有许多不为人知的“坑”,其中最大的坑就是授权机制。而授权却又是接入易班的基础,易班的大多api都需要验证用户身份的。

官方说明如下

对于没有接触过授权登录验证的小伙伴来说,可能会有点一头雾水。没关系,现将接入方法真手把手式传授与大家。废话不多说,下面进入正题。

准备工作 1.进入易班官方开放平台 2.申请为易班开发者

提交开发者申请后,需要等待易班工作人员2~3个工作日的审核。

3.创建外部网站

进入管理中心并创建网站接入。

根据要求填写网站信息

* logo可以暂时另存为参考实例使用,后期再更换。

本地测试网址可以暂时参考如上填写,后期上线再更换服务器地址。

http://localhost:8080/YiBanTest/

注意此处的回调地址,参考如上填写。

4.下载官方sdk

易班开放平台wiki文档 (yiban.cn)

这里我们因为是JavaWeb项目,所以需要的是Java SDK包,下载到本地并解压。

正式开干 1.导入/引入sdk包

我们先创建一个JavaWeb项目作为模板,项目的创建安与配置这里就不过多赘述了。

本项目是使用Maven构建的。

将解压出来的SDK文件的此jar包导入项目

并将jar包添加到项目中。

POM文件添加jar包依赖(注意路径)

cn.yiban open 1.0 system ${pom.basedir}/src/main/webapp/WEB-INF/lib/YBOpenApi.jar

项目结构如下图

2.定义数据类 AppContext.java /** * 易班接入数据类 */ public class AppContext { public static final String APP_ID = "785a5bb5621e65fd"; public static final String APP_SEC = "2829bb519ec1269j799b4be87e269"; public static final String WEB_SITE = "http://127.0.0.1:8080/YiBanTest"; public static final String BACK_URL = "http://127.0.0.1:8080/YiBanTest/auth"; public static final String KEY_CODE = "code"; public static final String KEY_TOKEN = "access_token"; public static final String KEY_USER = "user"; public static final String KEY_USER_ID = "user_id"; public static String ACCESS_TOKEN = "access_token"; }

其中,APP_ID、APP_SEC可在易班创建的网站信息处查看,分别复制赋值即可。

3.init

本步骤实现易班的接入与授权,创建InitController。

获取授权前,先发送请求获取code。

@RequestMapping("/init") public void init(HttpServletResponse response) throws IOException { Authorize au = new Authorize(AppContext.APP_ID, AppContext.APP_SEC); String url = au.forwardurl(AppContext.BACK_URL, "QUERY", Authorize.DISPLAY_TAG_T.MOBILE); response.sendRedirect(url); }

此请求会根据你的APP_ID、APP_SEC发送请求,请求成功的话返回一个code状态码,无异常的话会进入回调地址。

4.auth

申请授权并获取code、access_token、userid、expires等。

@RequestMapping("/auth") public void auth(HttpServletResponse response, HttpServletRequest request) throws IOException { //auth这个接口传入APP_ID以及回调地址=http://127.0.0.1:8080/YiBanTest/auth以获取code以及access_token等信息 //获取code失败,跳转到error.jsp String code = request.getParameter(AppContext.KEY_CODE); if (code == null || code.equals("")) { response.sendRedirect("error.jsp"); } //获取code成功 System.out.println("code:" + code); Authorize authorize = new Authorize(AppContext.APP_ID, AppContext.APP_SEC); String text = authorize.querytoken(code, AppContext.BACK_URL); System.out.println(text); JSONObject json = JSON.parseObject(text); //获取ACCESS_TOKEN AppContext.ACCESS_TOKEN = json.getString(AppContext.KEY_TOKEN); User user = new User(AppContext.ACCESS_TOKEN); HttpSession session = request.getSession(); session.setAttribute(AppContext.KEY_USER, user); //重定向到指定网页 response.sendRedirect("index.jsp"); }

具体获取的ACCESS_TOKEN,Key的有啥作用(反正很大作用)这里也不作赘述,可自行百度。

4.验证

到此,大部分工作已经完成,可以进行测试。

修改tomcat配置如下

启动Tomcat,并访问http://localhost:8080/YiBanTest/init测试

授权后跳转指定页面index.jsp

至此,易班的外部网站接入已经完成。剩下的工作便与日常Java Web应用开发一致了。

别忘了的是,接入的外部网站需要上线的话,还得修改易班网站信息的地址、以及配置类中的地址。

完整项目gitee链接易班接入测试: 易班接入测试仓库 (gitee.com)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3