概述
开放平台,Android应用接入指南
接入说明
1.接入应用访问协议
目前提供接入应用的启动方式有以下几种:
使用包名启动
直接配置包名即可。
op://包名?type=pkname
如:op://com.nd.hy.ele.startb?type=pkname
使用scheme方式启动(推荐使用)
scheme方式配置launch_url配置为:
op://scheme_url?type=scheme
如:op://example://com.nd.hy.ele.startb/ActivityDemo5?type=scheme
显式启动,启动app的指定页面。
显式配置launch_url配置为: op://包名?type=explicit&page=页面名
如:op://com.nd.hy.ele.startb?type=explicit&intent=com.nd.hy.ele.startb.MainActivity2
隐式启动,启动app的指定页面。
隐式配置launch_url配置为:
op://包名?type=implicit&intent=页面的AndroidManifest.xml中对应的action名
如:op://com.nd.hy.ele.startb?type=implicit&intent=android.intent.action.qidong3
备注:……
2.后台配置
完整配置说明,请参考:
3.单点登录支持
目前开放平台移动端提供临时会话票据ticket 给接入应用,完成单点登录。具体接入步骤:
- “开放平台”通过mac token获取到临时会话票据ticket
- 第三方应用接收云平台跳转第三方应用时URL传递的临时会话票据ticket
- 第三方应用通过ticket向IDP换取访问令牌access_token
- 第三方应用通过access_token请求资源API,如获取用户信息等
参考文档 :获取oauth的ticket相关文档
参数
- 当启动应用launch_url 含有ticket=${user_ticket}占位时,表示需要获取ticket并将其传递到启动app。
- 如何获ticket—调用{uc-gateway}/v1.1/get_ticket获取临时会话票据ticket(post 请求,参数为空,但是还是需要传递一个空的{},不然报错)。
- 获取到ticket之后将标签通过Bundlec传递到启动的app。
Bundle bundle = new Bundle(); bundle.putString(ticket, "user_ticket"); intent.putExtras(bundle);
- app启动页面中判断bundle是否为空,同时读取bundle中是否带有ticket
Bundle bundle=intent.getExtras(); if(bundle!=null) { String ticket = bundle.getString("ticket"); }
- 通过ticket去获取access_token。(通常建议是这个操作放在App云端服务器,由云端中转接口调用请求,因为应用的密钥client_secret和获取到的access_token为了安全都应保存在服务端)
1、我们因为现在没有app服务端,就本地直接调用接口获取access_token。 2、首先向开放平台申请注册了app,获取client_id和client_secret 应用ID:d11bd323-3d76-47eb-968c-36851184372a 密钥:acdb9f6339814436995d39babf873960 3、调用接口 {uc-gateway}/v1.1/oauth2/access_token通过ticket获取access_token 4、获取到了access_token之后就完成认证,同时也提供了刷新access_token接口。 5、后续可以通过access_token去获取用户信息。 {uc-gateway}/v1.1/oauth2/get_user_info获取用户基本信息
参考DEMO
https://github.com/kinglong123/appStartup
参考链接
作者:wangtc 创建时间:2020-06-16 08:13
最后编辑:网教通 更新时间:2023-11-14 10:57
最后编辑:网教通 更新时间:2023-11-14 10:57