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

简介: 第三方应用授权注意事项:[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调用此接口一次才能获取)。

          IAopClient client = new DefaultAopClient(config.gatewayUrl, config.app_id, config.private_key, "json", "1.0", "RSA2", config.alipay_public_key, config.charset, false);            AlipayOpenAuthTokenAppRequest  request= new AlipayOpenAuthTokenAppRequest() ;           request.BizContent="{" +             //authorization_code或者refresh_token              "\"grant_type\":\"authorization_code\"," +              "\"code\":\"603d0219f1884fc4b66093900e6b8X89\"" +            //"\"refresh_token\":\"201509BBdcba1e3347de4e75ba3fed2c9abebE36\"" +              "  }";          AlipayOpenAuthTokenAppResponse response=client.execute(request);          Console.WriteLine(response.Body);

响应参数:

{"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。

          IAopClient client = new DefaultAopClient(config.gatewayUrl, config.app_id, config.private_key, "json", "1.0", "RSA2", config.alipay_public_key, config.charset, false);            AlipayOpenAuthTokenAppQueryRequest  request= new AlipayOpenAuthTokenAppQueryRequest() ;            request.BizContent="{" +           "\"app_auth_token\":\"201904BBf9c9781043854fe58c25b4b378350A89\"" +           "  }";AlipayOpenAuthTokenAppQueryResponse response=client.Execute(request);Console.WriteLine(response.Body);

响应参数:

{"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=="}

二、显示效果

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

 

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

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

目录
相关文章
|
开发框架 数据可视化 .NET
.netcore第三方登录授权:10分钟急速接入
.netcore第三方登录授权:10分钟急速接入
|
开发框架 算法 安全
在 Asp.Net Core 中什么是认证和授权
认证(Authentication) 和 授权(Authorization)在 Asp.Net core 充当了两个不同的职责。有的老伙计在理解的时候还存在误解。本文我们将会通过一些简单的例子来说明这两个概念。
166 0
在 Asp.Net Core 中什么是认证和授权
|
前端开发 中间件
深度解读.NET 5授权中间件的执行策略
匿名访问不表示"无需认证";匿名访问是"授权" 的控制范畴; 授权的前提是先认证。
深度解读.NET 5授权中间件的执行策略
|
存储 开发框架 .NET
ASP.NET Core策略授权和ABP授权
ASP.NET Core策略授权和ABP授权
313 0
ASP.NET Core策略授权和ABP授权
|
存储 开发框架 安全
ASP.NET Core 3.0一个jwt的轻量角色/用户、单个API控制的授权认证库
ASP.NET Core 3.0一个jwt的轻量角色/用户、单个API控制的授权认证库
189 0
ASP.NET Core 3.0一个jwt的轻量角色/用户、单个API控制的授权认证库
|
存储 开发框架 安全
ASP.NET Core 使用JWT 自定义角色/策略授权需要实现的接口
ASP.NET Core 使用JWT 自定义角色/策略授权需要实现的接口
413 0
|
JSON PHP 数据格式
支付宝预授权.net版接口请求示例
download:支付宝预授权PHP版.zip说明: 本帖是.net开发语言测试支付宝预授权的请求示例,仅供参考!!    一、下载demo: Java版:download:支付宝预授权Java版.zip PHP版:download:支付宝预授权PHP版.
834 0
|
中间件 测试技术 数据安全/隐私保护
【.NET Core项目实战-统一认证平台】第十章 授权篇-客户端授权
原文 【.NET Core项目实战-统一认证平台】第十章 授权篇-客户端授权 【.NET Core项目实战-统一认证平台】开篇及目录索引 上篇文章介绍了如何使用Dapper持久化IdentityServer4(以下简称ids4)的信息,并实现了sqlserver和mysql两种方式存储,本篇将介绍如何使用ids4进行客户端授权。
3068 0
|
SQL 存储 关系型数据库
【.NET Core项目实战-统一认证平台】第九章 授权篇-使用Dapper持久化IdentityServer4
原文:【.NET Core项目实战-统一认证平台】第九章 授权篇-使用Dapper持久化IdentityServer4 【.NET Core项目实战-统一认证平台】开篇及目录索引 上篇文章介绍了IdentityServer4的源码分析的内容,让我们知道了IdentityServer4的一些运行原理,这篇将介绍如何使用dapper来持久化Identityserver4,让我们对IdentityServer4理解更透彻,并优化下数据请求,减少不必要的开销。
1408 0
|
负载均衡 中间件 .NET
【.NET Core项目实战-统一认证平台】第八章 授权篇-IdentityServer4源码分析
原文:【.NET Core项目实战-统一认证平台】第八章 授权篇-IdentityServer4源码分析 【.NET Core项目实战-统一认证平台】开篇及目录索引 上篇文章我介绍了如何在网关上实现客户端自定义限流功能,基本完成了关于网关的一些自定义扩展需求,后面几篇将介绍基于IdentityServer4(后面简称Ids4)的认证相关知识,在具体介绍ids4实现我们统一认证的相关功能前,我们首先需要分析下Ids4源码,便于我们彻底掌握认证的原理以及后续的扩展需求。
2795 0

热门文章

最新文章