CN110401665B - 统一入口的微信鉴权api接口实现方法 - Google Patents

统一入口的微信鉴权api接口实现方法 Download PDF

Info

Publication number
CN110401665B
CN110401665B CN201910695662.8A CN201910695662A CN110401665B CN 110401665 B CN110401665 B CN 110401665B CN 201910695662 A CN201910695662 A CN 201910695662A CN 110401665 B CN110401665 B CN 110401665B
Authority
CN
China
Prior art keywords
module
wechat
authorization
token
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910695662.8A
Other languages
English (en)
Other versions
CN110401665A (zh
Inventor
郑小丰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Hongmagic Cube Network Technology Co ltd
Original Assignee
Sichuan Hongmagic Cube Network Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan Hongmagic Cube Network Technology Co ltd filed Critical Sichuan Hongmagic Cube Network Technology Co ltd
Priority to CN201910695662.8A priority Critical patent/CN110401665B/zh
Publication of CN110401665A publication Critical patent/CN110401665A/zh
Application granted granted Critical
Publication of CN110401665B publication Critical patent/CN110401665B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Abstract

本发明公开了一种统一入口的微信鉴权API接口实现方法,包括:功能模块在功能管理模块中注册,并获取访问令牌;功能模块携带访问令牌向转接模块请求数据;转接模块验证功能模块携带的访问令牌是否有效,如果有效,则进入下一步,否则,驳回请求数据;转接模块将请求数据发往授权模块,授权模块将授权令牌返回转接模块;转接模块携带授权令牌访问微信服务器,并将结果返回至功能模块,完成通信。本发明通过提供统封装了具有微信服务功能的接口,使得微信公众号的开发和使用规避了安全域名限制,可以不在本地服务器开发或部署功能模块。大大简化了开发流程,节省了开发和运维成本,同时,统一的访问令牌鉴权保证了公众号资源的安全性。

Description

统一入口的微信鉴权API接口实现方法
技术领域
本发明涉及通信技术领域,具体的说,是一种统一入口的微信鉴权API接口实现方法。
背景技术
微信公众号是基于微信二次应用开发的平台。微信提供用户数据管理和微信功能调用接口。企业根据自身需要进行二次开发。微信提供的接口可分为需要鉴权和不需要鉴权,需要鉴权的接口的使用有一定的限制:用户必须在注册的安全域名内调用微信接口获取公众号秘钥accesstoken,然后在秘钥失效前使用该凭证才可调用,也就是说,微信的接口必须是在一个特定的域名内,使用微信accesstoken才能进行二次开发和使用。如此一来微信公众号功能模块的开发和接口调用就必须要有企业内网操作权限,这就限制了开发和使用范围。
发明内容
本发明的目的在于提供一种统一入口的微信鉴权API接口实现方法,用于解决现有技术中微信公众号功能模块的开发和接口调用受到企业内网操作权限限制的问题。
本发明通过下述技术方案解决上述问题:
一种统一入口的微信鉴权API接口实现方法,包括中控服务,所述中控服务包括授权模块、转接模块和功能管理模块,所述中控服务用于执行以下步骤:
步骤S100:功能模块在功能管理模块中注册,并获取访问令牌;功能管理模块对所有的功能模块进行统一管理;
步骤S200:功能模块携带访问令牌向所述转接模块请求数据;
步骤S300:转接模块验证功能模块携带的访问令牌是否有效,如果有效,则进入下一步,否则,驳回请求数据;
步骤S400:转接模块将功能模块的请求数据发往所述授权模块,授权模块将授权令牌返回转接模块;
步骤S500:转接模块携带授权令牌访问微信服务器,并将结果返回至功能模块,完成通信。
进一步地,所述授权令牌由授权模块定时从微信服务器获取并缓存,并在缓存失效时从微信服务器重新获取。
进一步地,所述授权模块还对缓存的授权令牌进行验证有效性;若授权令牌失效,则重新从微信服务器获取授权令牌。
进一步地,所述转接模块由中控服务在安全域名内携带授权令牌直接调用微信服务接口并将微信服务接口封装而成。
进一步地,所述步骤S100具体为:功能模块在中控服务注册基本信息并存储,中控服务器采用非对称加密算法生成具有有效期的访问令牌,并把访问令牌分配给功能模块。
本发明与现有技术相比,具有以下优点及有益效果:
(1)本发明通过提供统封装了具有微信服务功能的接口,使得微信公众号的开发和使用规避了安全域名限制,可以不在本地服务器开发或部署功能模块。大大简化了开发流程,节省了开发和运维成本,同时,统一的访问令牌鉴权保证了公众号资源的安全性。
附图说明
图1为本发明的原理框图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例1:
结合附图1所示,一种统一入口的微信鉴权API接口实现方法,包括:
1、在中控服务注册功能模块信息,获取访问令牌并保存;
2、功能模块携带访问令牌调用转接模块接口;
3、转接模块验证访问令牌,如果令牌无效则原路驳回,反之则将功能模块的请求数据发往授权模块获取微信授权令牌(accesstoken);
4、授权模块中,为了提高请求效率,定时器定期从微信服务器获取accesstoken并缓存;
5、授权模块中,缓存单元在接到转接模块的请求后首先验证自身缓存的accesstoken是否失效,如果失效则直接去微信服务器获取accesstoken,获取后再缓存同时再将结果返回给转接模块;
6、转接模块在安全域名内,携带授权模块提供的accesstoken访问微信服务器,并将结果原路返回功能模块,完成通信。
1)在中控服务中,提供功能模块注册功能
功能管理模块将基于该系统开发的功能进行统一管理;功能模块将基本信息,如应用名,创建时间,功能描述,权限等级等信息注册进中控服务并存储。中控服务使用非对称加密算法生成具有有效期的访问令牌,并将访问令牌分配给新增功能;
2)在中控服务中提供accesstoken管理功能
具体说明:中控服务中授权模块中accesstoken管理模块定时器定时从微信服务商获取accesstoken并缓存,所有需要用到accesstoken的接口都通过该模块获取。同时该模块校验accesstoken的有效性,如果accesstoken失效,则重新从微信服务器获取accesstoken并存储。
3)在中控服务中提供微信服务接口转接功能
具体说明:中控服务在安全域名内,转接模块能够携带accesstoken直接调用微信服务接口。转接模块将功能模块需要用到的微信接口进行封装,所以与微信服务器的通信行为都通过该模块转接实现。
4)功能模块使用封装后的接口使用微信,而非直接请求微信服务器,实现新增的功能模块与微信服务器的解耦。
具体说明:新增的功能模块携带分配的访问令牌调用中控服务转接接口即转接模块,如果访问令牌过期,中控服务将拒绝访问。
本发明通过提供统封装了具有微信服务功能的接口,使得微信公众号的开发和使用规避了安全域名限制,可以不在本地服务器开发或部署功能模块。大大简化了开发流程,节省了开发和运维成本。同时,统一的访问令牌鉴权保证了公众号资源的安全性。
本申请还包括了一种统一入口的微信鉴权API接口实现系统,包括与微信服务器通信连接的中控服务,中控服务中包含:
功能管理模块,用于新增的功能模块注册和管理的功能管理模块;
授权模块,用于从微信服务器定期获取accesstoken,以及验证accesstokende有效性;授权模块包括定时器和缓存单元,定时器定期去微信服务器获取accesstoken并缓存,缓存单元缓存获取的accesstoken以及验证缓存的accesstoken是否失效,如果失效则去微信服务器重新获取;
转接模块,用于接收功能模块请求数据以及验证功能模块携带的访问令牌,还用于从授权模块获取accesstoken,以及将新增的功能模块使用的微信接口进行封装,实现功能模块与微信服务器通信。
尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。

Claims (4)

1.一种统一入口的微信鉴权API接口实现方法,其特征在于,包括中控服务,所述中控服务包括授权模块、转接模块和功能管理模块,所述中控服务用于执行以下步骤:
步骤S100:功能模块在功能管理模块中注册,并获取访问令牌;
步骤S200:功能模块携带访问令牌向所述转接模块请求数据;
步骤S300:转接模块验证功能模块携带的访问令牌是否有效,如果有效,则进入下一步,否则,驳回请求数据;
步骤S400:转接模块将功能模块的请求数据发往所述授权模块,授权模块将授权令牌返回转接模块;
步骤S500:转接模块携带授权令牌访问微信服务器,并将结果返回至功能模块,完成通信;
所述转接模块由中控服务在安全域名内携带授权令牌直接调用微信服务接口并将微信服务接口封装而成。
2.根据权利要求1所述的统一入口的微信鉴权API接口实现方法,其特征在于,所述授权令牌由授权模块定时从微信服务器获取并缓存,并在缓存失效时从微信服务器重新获取。
3.根据权利要求2所述的统一入口的微信鉴权API接口实现方法,其特征在于,所述授权模块还对缓存的授权令牌进行验证有效性;若授权令牌失效,则重新从微信服务器获取授权令牌。
4.根据权利要求1所述的统一入口的微信鉴权API接口实现方法,其特征在于,所述步骤S100具体为:功能模块在中控服务注册基本信息并存储,中控服务器采用非对称加密算法生成具有有效期的访问令牌,并把访问令牌分配给功能模块。
CN201910695662.8A 2019-07-30 2019-07-30 统一入口的微信鉴权api接口实现方法 Active CN110401665B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910695662.8A CN110401665B (zh) 2019-07-30 2019-07-30 统一入口的微信鉴权api接口实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910695662.8A CN110401665B (zh) 2019-07-30 2019-07-30 统一入口的微信鉴权api接口实现方法

Publications (2)

Publication Number Publication Date
CN110401665A CN110401665A (zh) 2019-11-01
CN110401665B true CN110401665B (zh) 2021-06-22

Family

ID=68326633

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910695662.8A Active CN110401665B (zh) 2019-07-30 2019-07-30 统一入口的微信鉴权api接口实现方法

Country Status (1)

Country Link
CN (1) CN110401665B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11463431B2 (en) 2020-05-29 2022-10-04 Disney Enterprises, Inc. System and method for public API authentication

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106411825A (zh) * 2015-08-03 2017-02-15 天脉聚源(北京)科技有限公司 一种微信访问令牌获取方法及系统
CN107483509A (zh) * 2017-10-09 2017-12-15 武汉斗鱼网络科技有限公司 一种身份验证方法、服务器及可读存储介质
CN107704396A (zh) * 2017-10-20 2018-02-16 平安科技(深圳)有限公司 应用程序的测试方法及装置
CN109347855A (zh) * 2018-11-09 2019-02-15 南京医渡云医学技术有限公司 数据访问方法、装置、系统、电子设计及计算机可读介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI705396B (zh) * 2017-12-22 2020-09-21 程澈科技有限公司 訂單整合系統及其整合方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106411825A (zh) * 2015-08-03 2017-02-15 天脉聚源(北京)科技有限公司 一种微信访问令牌获取方法及系统
CN107483509A (zh) * 2017-10-09 2017-12-15 武汉斗鱼网络科技有限公司 一种身份验证方法、服务器及可读存储介质
CN107704396A (zh) * 2017-10-20 2018-02-16 平安科技(深圳)有限公司 应用程序的测试方法及装置
CN109347855A (zh) * 2018-11-09 2019-02-15 南京医渡云医学技术有限公司 数据访问方法、装置、系统、电子设计及计算机可读介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
基于微信公众号微OA的设计与实现;梁宏;《中国优秀硕士学位论文全文数据库(电子期刊)》;20180615;全文 *
微信公众号平台开发(三):几大微信接口的调用;CSDN用户;《URL:https://blog.csdn.net/tonyfreak/article/details/80016407》;20161110;全文 *
微信公众号本地测试环境搭建(附带内网穿透工具使用);CSDN用户;《URL:https://blog.csdn.net/liuxuan12417/article/details/53118682/》;20180420;全文 *

Also Published As

Publication number Publication date
CN110401665A (zh) 2019-11-01

Similar Documents

Publication Publication Date Title
CN108173850B (zh) 一种基于区块链智能合约的身份认证系统和身份认证方法
CN102089767B (zh) 无人值守应用程序的经认证数据库连接
CN1224213C (zh) 发放电子身份证明的方法
CN102394887B (zh) 基于OAuth协议的开放平台安全认证方法和系统
CN100440100C (zh) 用于根据智能密钥设备建立信任框架的方法和系统
CN102870093B (zh) 利用虚拟化和证明来远程维护电子网络中多个客户端的系统和方法
CN104580316B (zh) 软件授权管理方法及系统
WO2019062235A1 (zh) 用于调用网络功能服务的方法、装置和系统
CN107483509A (zh) 一种身份验证方法、服务器及可读存储介质
CN112016106B (zh) 开放接口的认证调用方法、装置、设备和可读存储介质
CN102378170A (zh) 一种鉴权及业务调用方法、装置和系统
TW201215070A (en) Key Management Systems and methods for shared secret ciphers
CN104184713A (zh) 终端识别方法、机器识别码注册方法及相应系统、设备
CN108449315B (zh) 请求合法性的校验装置、方法及计算机可读存储介质
CN111209558B (zh) 基于区块链的物联网设备身份认证方法以及系统
CN103916395A (zh) 一种服务调用方法、设备及系统
CN103685194B (zh) 一种能力调用方法、装置及终端
CN107634973B (zh) 一种服务接口安全调用方法
CN104717192A (zh) 合法性验证方法及中间服务器
CN109756337A (zh) 一种服务接口的安全接入方法和装置
CN112311779B (zh) 应用于区块链系统的数据访问控制方法及装置
CN103813329A (zh) 一种能力调用方法及能力开放系统
CN111478955A (zh) 微服务注册方法、系统、装置和计算机可读存储介质
CN111800426A (zh) 应用程序中原生代码接口的访问方法、装置、设备及介质
CN113343196A (zh) 一种物联网安全认证方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant