CN110401665B - 统一入口的微信鉴权api接口实现方法 - Google Patents
统一入口的微信鉴权api接口实现方法 Download PDFInfo
- 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
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种统一入口的微信鉴权API接口实现方法,包括:功能模块在功能管理模块中注册,并获取访问令牌;功能模块携带访问令牌向转接模块请求数据;转接模块验证功能模块携带的访问令牌是否有效,如果有效,则进入下一步,否则,驳回请求数据;转接模块将请求数据发往授权模块,授权模块将授权令牌返回转接模块;转接模块携带授权令牌访问微信服务器,并将结果返回至功能模块,完成通信。本发明通过提供统封装了具有微信服务功能的接口,使得微信公众号的开发和使用规避了安全域名限制,可以不在本地服务器开发或部署功能模块。大大简化了开发流程,节省了开发和运维成本,同时,统一的访问令牌鉴权保证了公众号资源的安全性。
Description
技术领域
本发明涉及通信技术领域,具体的说,是一种统一入口的微信鉴权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具体为:功能模块在中控服务注册基本信息并存储,中控服务器采用非对称加密算法生成具有有效期的访问令牌,并把访问令牌分配给功能模块。
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)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI705396B (zh) * | 2017-12-22 | 2020-09-21 | 程澈科技有限公司 | 訂單整合系統及其整合方法 |
-
2019
- 2019-07-30 CN CN201910695662.8A patent/CN110401665B/zh active Active
Patent Citations (4)
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)
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) | 无人值守应用程序的经认证数据库连接 | |
CN109587187B (zh) | 用于调用网络功能服务的方法、装置和系统 | |
CN102378170B (zh) | 一种鉴权及业务调用方法、装置和系统 | |
CN112016106B (zh) | 开放接口的认证调用方法、装置、设备和可读存储介质 | |
CN100440100C (zh) | 用于根据智能密钥设备建立信任框架的方法和系统 | |
CN104580316B (zh) | 软件授权管理方法及系统 | |
CN102724204B (zh) | 一种安全可信的能力开放平台 | |
CN107483509A (zh) | 一种身份验证方法、服务器及可读存储介质 | |
CN110225050B (zh) | Jwt令牌的管理方法 | |
TW201215070A (en) | Key Management Systems and methods for shared secret ciphers | |
CN108449315B (zh) | 请求合法性的校验装置、方法及计算机可读存储介质 | |
CN1395776A (zh) | 发放电子身份证明的方法 | |
CN111209558B (zh) | 基于区块链的物联网设备身份认证方法以及系统 | |
CN103916395A (zh) | 一种服务调用方法、设备及系统 | |
CN103685194B (zh) | 一种能力调用方法、装置及终端 | |
CN104717192A (zh) | 合法性验证方法及中间服务器 | |
CN107634973B (zh) | 一种服务接口安全调用方法 | |
CN109756337A (zh) | 一种服务接口的安全接入方法和装置 | |
CN112311779B (zh) | 应用于区块链系统的数据访问控制方法及装置 | |
CN103813329A (zh) | 一种能力调用方法及能力开放系统 | |
CN113343196A (zh) | 一种物联网安全认证方法 | |
WO2019175427A1 (en) | Method, device and medium for protecting work based on blockchain | |
US20110307939A1 (en) | Account issuance system, account server, service server, and account issuance method | |
CN110401665B (zh) | 统一入口的微信鉴权api接口实现方法 |
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 |