第三方应用授权接入流程(JAVA版)

简介: 第三方应用授权注意事项:[url]https://openclub.alipay.com/read.php?tid=14575&fid=68[/url]一、调用接口1、访问授权,获取app_auth_code获取app_auth_code方式:[url]https://openclub.

第三方应用授权注意事项[url]https://openclub.alipay.com/read.php?tid=14575&fid=68[/url]

一、调用接口

1、访问授权,获取app_auth_code

获取app_auth_code方式:[url]https://openclub.alipay.com/read.php?tid=14581&fid=68[/url]

注:沙箱测试时,只能使用应用授权URL拼接的方式;

沙箱授权URL规则:[url]https://openauth.alipay[/url]dev.com/oauth2/appToAppAuth.htm?app_id=APPID&redirect_uri=ENCODED_URL

3、换取应用授权令牌接口

参数说明:

(1)grant_type:

authorization_code表示换取app_auth_token。 

refresh_token表示刷新app_auth_token。

(2)code:授权码,grant_type的值为authorization_code,该值必须填写。

参数值为授权后获取的app_auth_code;

(3)refresh_token:刷新令牌,grant_type值为refresh_token,该值不能为空。

参数值为此接口的响应参数app_refresh_token(至少需要通过grant_type=authorization_code调用此接口一次才能获取)。

public static void main(String[] args) throws AlipayApiException {		AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, AlipayConfig.format, AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);		AlipayOpenAuthTokenAppRequest request = new AlipayOpenAuthTokenAppRequest();		//授权成功后,使用app_auth_code换取app_auth_token		AlipayOpenAuthTokenAppModel model = new AlipayOpenAuthTokenAppModel();		//换取令牌,不改		model.setGrantType("authorization_code");		//app_auth_code参数		model.setCode("603d0219f1884fc4b66093900e6b8X89");		/*//刷新令牌		model.setRefreshToken("a3dcea3a35a342858391dfeaa336cE75");*/		request.setBizModel(model);	    try {	    	AlipayOpenAuthTokenAppResponse response = alipayClient.execute(request);			System.out.println(response.getBody());		} catch (AlipayApiException e) {		    //处理异常		    e.printStackTrace();		}}

响应参数:

{"alipay_open_auth_token_app_response":{"code":"10000","msg":"Success","app_auth_token":"201904BBf9c9781043854fe58c25b4b378350A89","app_refresh_token":"201904BBa095c4366ba74acba2dd971244632F89","auth_app_id":"2018042501227906","expires_in":31536000,"re_expires_in":32140800,"tokens":[{"app_auth_token":"201904BBf9c9781043854fe58c25b4b378350A89","app_refresh_token":"201904BBa095c4366ba74acba2dd971244632F89","auth_app_id":"2018042501227906","expires_in":31536000,"re_expires_in":32140800,"user_id":"2088102175794899"}],"user_id":"2088102175794899"},"sign":"MFnHtA+aZaH+pJuQfIqdZx1ESEhd6QpaHcOPABZOCT+H+KQbSfZdKBPjhZecPDYNgi8MAbIuQ3W0ZV/c9AEF7a2JRFxMWl9h3j67eA5MGJTOt6o6zaKKA7iQY7ZaQvMuihCAJtiY8+Mx9I/SN6wSHpn7PyB6REtTc/DX8AXfO328ek3D/xBGJL0ZOhZwNR8f9PVd9LkjOvbWNkhSo4x6hZtiWpu+0A4hvz7IKrtDaPxLCAtXZGbABx6tnUit4E3JjJ6qfWVsfASLraK5faJIf8+c7TPep30DcWlVw76wcohrwAG9wGL2f/xHEPAKUpX2tZi2p83cH2+u6RuSI4XqUQ=="}

4、查询AppAuthToken的授权信息

参数说明:

app_auth_token:换取应用授权令牌接口返回的响应参数app_auth_token。

public static void main(String[] args) throws AlipayApiException {   AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, AlipayConfig.format, AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);		AlipayOpenAuthTokenAppQueryRequest request = new AlipayOpenAuthTokenAppQueryRequest();		/****************************传参方法二*********************		AlipayOpenAuthTokenAppQueryModel model = new AlipayOpenAuthTokenAppQueryModel();		model.setAppAuthToken("appAuthToken");		request.setBizModel(model);		*/		/****************************传参方法一********************/		request.setBizContent("{\"app_auth_token\":\"201904BBf9c9781043854fe58c25b4b378350A89\"}");				AlipayOpenAuthTokenAppQueryResponse response = alipayClient.execute(request);		System.out.println("授权信息:"+response.getBody());}

响应参数:

{"alipay_open_auth_token_app_query_response":{"code":"10000","msg":"Success","auth_app_id":"2018042501227906","auth_end":"2020-04-15 15:54:59","auth_methods":["ant.merchant.expand.indirect.modify","alipay.system.oauth.token","alipay.fund.auth.operation.detail.query","alipay.ebpp.pdeduct.sign.query","koubei.marketing.campaign.activity.offline","zhima.auth.info.authquery","alipay.offline.provider.shopaction.record","alipay.offline.market.shop.create","alipay.trade.refund","ssdata.dataservice.risk.rainscore.query","alipay.user.info.auth","alipay.commerce.cityfacilitator.voucher.generate","koubei.marketing.data.intelligent.effect.query","alipay.ebpp.pdeduct.bill.pay.status","alipay.marketing.campaign.cash.trigger","alipay.pass.template.add","koubei.marketing.data.indicator.query","alipay.eco.cplife.basicservice.initialize","zhima.credit.watchlistii.get","koubei.marketing.campaign.intelligent.promo.batchquery","alipay.eco.cplife.notice.delete","alipay.fund.trans.toaccount.transfer","zhima.credit.score.brief.get","alipay.user.info.share","alipay.eco.edu.kt.billing.modify","koubei.marketing.data.message.deliver","alipay.marketing.tool.fengdie.activity.query","koubei.marketing.data.customreport.save","alipay.eco.cplife.roominfo.upload","alipay.pass.instance.add","alipay.eco.cplife.community.batchquery","koubei.marketing.campaign.intelligent.promo.query","alipay.marketing.tool.fengdie.editor.query","alipay.eco.mycar.parking.parkinglotinfo.query","alipay.trade.precreate","alipay.eco.cplife.roominfo.query","alipay.ebpp.invoice.sycn","alipay.boss.prod.submerchant.create","zhima.customer.certification.query","zoloz.authentication.customer.facemanage.create","koubei.marketing.campaign.intelligent.promo.create","koubei.marketing.data.smartactivity.config","zhima.customer.certification.initialize","alipay.eco.edu.kt.parent.query","alipay.trade.create","alipay.eco.cplife.community.modify","alipay.trade.customs.declare","zhima.merchant.data.upload.initialize","alipay.eco.edu.kt.billing.send","koubei.marketing.campaign.item.merchantactivity.modify","alipay.eco.mycar.parking.parkinglotinfo.create","alipay.eco.cplife.bill.modify","alipay.offline.provider.useraction.record","alipay.trade.order.settle","koubei.marketing.campaign.intelligent.promo.consult","koubei.marketing.campaign.intelligent.promo.modify","alipay.ebpp.invoice.apply.result.sync","alipay.marketing.cdp.advertise.operate","zoloz.authentication.customer.facemanage.delete","koubei.marketing.campaign.crowd.delete","alipay.trade.close","alipay.eco.cplife.residentinfo.delete","monitor.heartbeat.syn","alipay.eco.mycar.parking.order.sync","alipay.commerce.medical.instcard.createandpay","alipay.trade.customs.query","alipay.marketing.cdp.advertise.modify","alipay.ebpp.pdeduct.async.pay","alipay.eco.mycar.parking.enterinfo.sync","alipay.ebpp.invoice.user.trade.query","alipay.boss.prod.submerchant.modify","alipay.eco.edu.kt.student.modify","alipay.eco.cplife.bill.sync","zoloz.authentication.smilepay.initialize","alipay.trade.query","alipay.ebpp.invoice.apply","alipay.eco.edu.kt.schoolinfo.modify","koubei.marketing.campaign.activity.create","zhima.customer.certification.certify","alipay.eco.cplife.community.details.query","alipay.eco.cplife.notice.publish","koubei.marketing.campaign.crowd.batchquery","alipay.commerce.cityfacilitator.voucher.refund","alipay.eco.mycar.parking.parkinglotinfo.update","alipay.ebpp.pdeduct.sign.add","koubei.marketing.data.customreport.batchquery","alipay.ebpp.invoice.info.send","alipay.eco.mycar.parking.exitinfo.sync","alipay.eco.mycar.parking.vehicle.query","alipay.eco.cplife.community.create","alipay.eco.cplife.residentinfo.upload","koubei.marketing.data.customreport.query","koubei.marketing.campaign.item.merchantactivity.create","zhima.customer.certification.material.certify","ant.merchant.expand.indirect.create","alipay.pass.instance.update","zoloz.authentication.customer.ftoken.query","alipay.ebpp.invoice.title.sync","alipay.offline.market.shop.batchquery","alipay.eco.cplife.bill.batch.upload","zhima.data.feedbackurl.query","alipay.trade.pay","alipay.fund.auth.operation.cancel","alipay.ebpp.pdeduct.sign.cancel","zhima.credit.antifraud.verify","alipay.eco.mycar.parking.config.query","alipay.marketing.tool.fengdie.activity.create","alipay.offline.market.applyorder.batchquery","alipay.eco.cplife.bill.batchquery","alipay.marketing.campaign.cash.status.modify","alipay.marketing.campaign.cash.list.query","alipay.security.risk.customerrisk.query","alipay.offline.material.image.upload","alipay.eco.cplife.roominfo.delete","alipay.ebpp.pdeduct.sign.validate","alipay.fund.auth.order.voucher.create","alipay.ebpp.invoice.file.sync.retry","alipay.offline.market.shop.modify","alipay.eco.cplife.basicservice.modify","alipay.marketing.cdp.advertise.query","alipay.data.dataservice.bill.downloadurl.query","alipay.commerce.medical.information.upload","koubei.marketing.campaign.crowd.count","alipay.offline.market.shop.category.query","alipay.trade.wap.pay","koubei.marketing.campaign.activity.batchquery","alipay.eco.edu.kt.billing.query","zhima.merchant.single.data.upload","alipay.commerce.medical.card.query","alipay.offline.market.shop.summary.batchquery","alipay.eco.mycar.parking.config.set","alipay.ebpp.invoice.file.query","alipay.eco.edu.kt.student.query","alipay.open.auth.token.app.query","alipay.trade.app.pay","alipay.ebpp.invoice.title.list.get","ant.merchant.expand.indirect.transfer","koubei.marketing.campaign.crowd.create","koubei.marketing.data.smartactivity.forecast","alipay.ebpp.bill.add","koubei.marketing.campaign.intelligent.shop.consult","alipay.commerce.cityfacilitator.voucher.batchquery","alipay.offline.market.shop.querydetail","alipay.fund.trans.order.query","alipay.security.risk.rainscore.query","zhima.customer.contract.initialize","zhima.credit.score.get","alipay.ebpp.pdeduct.pay","koubei.marketing.data.intelligent.indicator.query","zhima.data.batch.feedback","alipay.trade.fastpay.refund.query","alipay.boss.prod.submerchant.query","alipay.eco.cplife.bill.delete","alipay.marketing.tool.fengdie.template.query","koubei.marketing.campaign.item.merchantactivity.batchquery","koubei.marketing.data.customreport.detail.query","alipay.trade.orderinfo.sync","alipay.security.data.info.securitydata.query","alipay.commerce.cityfacilitator.station.query","alipay.marketing.facetoface.decode.use","alipay.trade.refund.apply","alipay.security.risk.customerrisk.send","ant.merchant.expand.indirect.query","koubei.marketing.campaign.tags.query","alipay.user.userinfo.share","alipay.trade.page.pay","alipay.ebpp.invoice.info.get","alipay.open.auth.token.app","alipay.marketing.campaign.cash.create","alipay.ebpp.invoice.info.applyid.query","koubei.marketing.data.customreport.delete","alipay.pass.template.update","alipay.marketing.cdp.advertise.create","alipay.fund.auth.order.unfreeze","alipay.trade.cancel","koubei.marketing.campaign.item.merchantactivity.close","alipay.eco.cplife.pay.result.query","alipay.marketing.campaign.cash.detail.query","koubei.marketing.campaign.item.merchantactivity.query","koubei.marketing.campaign.activity.modify","alipay.ebpp.invoice.merchantlist.enter.apply","koubei.marketing.campaign.intelligent.promo.delete","alipay.commerce.medical.instcard.bind","alipay.eco.mycar.parking.order.update","koubei.marketing.campaign.crowd.modify","koubei.marketing.campaign.intelligent.template.consult","koubei.marketing.campaign.crowd.detail.query","alipay.ebpp.industry.kms.pubkey.query","alipay.ebpp.bill.get","koubei.marketing.data.smartmanagement.diagnose","zoloz.authentication.customer.smilepay.initialize","koubei.marketing.data.trade.habbit.query","alipay.fund.auth.order.freeze","koubei.trade.order.consult","zhima.merchant.closeloop.data.upload","koubei.marketing.campaign.activity.query","koubei.marketing.campaign.recruit.shop.query","zhima.credit.watchlist.brief.get","alipay.ebpp.invoice.title.dynamic.get"],"auth_start":"2019-04-16 15:54:59","expires_in":31536000,"status":"valid","user_id":"2088102175794899"},"sign":"JIzmwzQF9tyWC+gVSQEtgPrgbv0QTLE5zw56SQkyKxvKzz9a/XhuPgEfMOjOaPviRuzlaf876LKRjqaY9oVui3McAnt5pL9uz/mHseh5t9cTIXFDPBmdTkGstjSpkUIBV6LYUBw8F+atvngzCSP7VcVPd4RpfLQRaB30YxlFr2HYRD1wTBvQFP7XXkJZMQCII0kECQGAY77hqNEF7oJHThY38MLbd/xBKWawfkYONnUgeyO0qNi5IGVShi+/RWZ4O/KWRjuRXi0mq/7wtPLA0H45S7/DLS6ImQ39UF/2nskRW6iISYm4JJ7gLODc2k3eFmWr014iMctfxPLTbxm8cA=="}

二、显示效果

沙箱无法查询,正式环境显示如下

68_25168_6b1ccd0610239dc.png

 

如果还是报错,请按如下方式进行提问:

正确提问方式:使用环境(沙箱还是正式环境)+接口名称(中文+英文)+ 请求参数 + 报错信息详情

目录
相关文章
|
1月前
|
运维 安全 Java
Java云HIS系统门诊流程
门诊系统主要实现医院门诊业务管理。是管理从门诊挂号、就诊到医生书写门诊病历、开立处方、门诊处置及门诊历史病历调阅、就诊信息查询;管理门诊收费挂号人员进行挂号、门诊收费、退费、结账、交款的整个门诊业务处理流程
33 0
|
Java 数据安全/隐私保护
java实现加密电话号码,有具体的加密流程注释
java实现加密电话号码,有具体的加密流程注释
21 0
|
3月前
|
JavaScript Java 项目管理
基于Java的大学生创新创业项目管理系统设计与实现(亮点:完整严谨的创新创业申请流程、适用于任何要求严格的审批类毕业设计)
基于Java的大学生创新创业项目管理系统设计与实现(亮点:完整严谨的创新创业申请流程、适用于任何要求严格的审批类毕业设计)
100 0
|
1天前
|
Java
Java基础知识整理,驼峰规则、流程控制、自增自减
在这一篇文章中我们总结了包括注释、关键字、运算符的Java基础知识点,今天继续来聊一聊命名规则(驼峰)、流程控制、自增自减。
31 3
|
9天前
|
安全 Java 数据安全/隐私保护
使用Spring Security进行Java身份验证与授权
【4月更文挑战第16天】Spring Security是Java应用的安全框架,提供认证和授权解决方案。通过添加相关依赖到`pom.xml`,然后配置`SecurityConfig`,如设置用户认证信息和URL访问规则,可以实现应用的安全保护。认证流程包括请求拦截、身份验证、响应生成和访问控制。授权则涉及访问决策管理器,如基于角色的投票。Spring Security为开发者构建安全应用提供了全面且灵活的工具,涵盖OAuth2、CSRF保护等功能。
|
2月前
|
Java 持续交付 虚拟化
深入浅出:使用Docker容器化改善Java应用的开发与部署流程
在快速迭代与持续集成的软件开发周期中,确保应用在各种环境中一致运行是一个挑战。本文介绍了如何利用Docker容器技术,来容器化Java应用,以实现环境一致性、简化配置和加速部署过程。我们将从Docker的基础知识开始,探讨其与传统虚拟机的区别,进而深入到如何创建Dockerfile,构建镜像,以及运行和管理容器。此外,文章还将涵盖使用Docker Compose来管理多容器应用的策略,以及如何利用容器化改善CI/CD流程。通过本文,读者将获得关于如何高效地利用Docker改善Java应用开发与部署流程的实践指导。
159 1
|
2月前
|
Java
Java流程控制
Java流程控制
33 0
|
3月前
|
JavaScript 小程序 Java
基于Java的大学生汉服租赁网站的设计与实现(亮点:在线支付、ECharts图表展示、完整下单流程、视频点播、点赞评论互动)
基于Java的大学生汉服租赁网站的设计与实现(亮点:在线支付、ECharts图表展示、完整下单流程、视频点播、点赞评论互动)
36 0
|
3月前
|
JavaScript 小程序 Java
基于Java的大学生在线租房平台的设计与实现(亮点:合理的租房流程、房屋报修、多角色、在线评论回复)
基于Java的大学生在线租房平台的设计与实现(亮点:合理的租房流程、房屋报修、多角色、在线评论回复)
54 0
|
3月前
|
JavaScript 小程序 Java
基于Java的大学生选修选课系统设计与实现(亮点:多角色、贴近现实的选课流程、好看的系统外观)
基于Java的大学生选修选课系统设计与实现(亮点:多角色、贴近现实的选课流程、好看的系统外观)
73 0