CN106961332A - 一种权限认证方法及装置 - Google Patents

一种权限认证方法及装置 Download PDF

Info

Publication number
CN106961332A
CN106961332A CN201610016984.1A CN201610016984A CN106961332A CN 106961332 A CN106961332 A CN 106961332A CN 201610016984 A CN201610016984 A CN 201610016984A CN 106961332 A CN106961332 A CN 106961332A
Authority
CN
China
Prior art keywords
signature
webpage
application
jsapi
ticket
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.)
Granted
Application number
CN201610016984.1A
Other languages
English (en)
Other versions
CN106961332B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610016984.1A priority Critical patent/CN106961332B/zh
Publication of CN106961332A publication Critical patent/CN106961332A/zh
Application granted granted Critical
Publication of CN106961332B publication Critical patent/CN106961332B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种权限认证方法及装置,开发人员想要在网页中实现第三方应用的私有功能时,将网页的域名和第三方应用账号信息上传到本申请提供的服务器中,并将本申请预先提供的脚本文件写入网页中,网页响应脚本文件的写入动作,向服务器发送包含网页的域名的签名请求,服务器在预先收集的域名和第三方应用账号信息对应关系中,查询与所述域名对应的第三方应用账号信息,并利用查询到的第三方应用账号信息制作签名,然后将签名反馈给网页,以供网页利用签名完成权限认证。本申请不需要开发人员制作获取签名的接口,也就不需要开发人员拥有后台开发能力,普通的前端开发人员即可实现网页权限认证过程,大大提高了网页开发效率。

Description

一种权限认证方法及装置
技术领域
本申请涉及权限认证技术领域,更具体地说,涉及一种权限认证方法及装置。
背景技术
随着网络的发展,越来越多的服务供应商提供了网络办公、娱乐等功能。在网页开发过程,开发者有时需要在网页中提供某些功能,而这些功能恰恰是某些第三方应用的私有功能,例如微信的分享功能。此时,开发者需要调用第三方应用提供的接口,以实现该私有功能。
对于第三方应用而言,其在为开发者提供私有功能时需要对开发者的身份进行权限认证,只有认证通过后才为其提供私有功能。一般性的,权限认证均是通过签名认证的方式。具体过程大致为:开发者注册第三方应用的账号,并将账号信息与所开发网页的域名进行绑定。开发者还需要在自己的服务器上开发一套获取签名的接口,利用该接口向第三方应用服务器发送账号信息,并接收反馈的签名,该签名用于供网页进行权限认证。
显然,现有的权限认证过程需要开发者制作获取签名的接口,这就需要开发者拥有后台开发能力,普通前端开发人员的学习成本较高,不利于网页的快速开发。
发明内容
有鉴于此,本申请提供了一种权限认证方法及装置,用于解决现有权限认证过程需要开发人员制作签名获取接口,造成普通前端人员的学习成本高,不利于网页快速开发的问题。
为了实现上述目的,现提出的方案如下:
一种权限认证方法,应用于服务器,该方法包括:
接收网页发送的包含网页的域名的签名请求,所述签名请求为网页响应开发人员写入预置脚本文件的动作而向服务器发送的签名请求;
在预置的域名和第三方应用账号信息对应关系中,查询与所述域名对应的第三方应用账号信息;
利用查询到的第三方应用账号信息制作签名;
将所述签名发送至所述网页,以供网页利用所述签名完成权限认证。
一种权限认证装置,应用于服务器,该装置包括:
签名请求接收单元,用于接收网页发送的包含网页的域名的签名请求,所述签名请求为网页响应开发人员写入预置脚本文件的动作而向服务器发送的签名请求;
账号信息查询单元,用于在预置的域名和第三方应用账号信息对应关系中,查询与所述域名对应的第三方应用账号信息;
签名制作单元,用于利用查询到的第三方应用账号信息制作签名;
签名发送单元,用于将所述签名发送至所述网页,以供网页利用所述签名完成权限认证。
从上述的技术方案可以看出,应用本申请实施例提供的权限认证方法,开发人员想要在网页中实现第三方应用的私有功能时,将网页的域名和第三方应用账号信息上传到本申请提供的服务器中,并将本申请预先提供的脚本文件写入网页中,网页响应脚本文件的写入动作,向服务器发送包含网页的域名的签名请求,服务器在预先收集的域名和第三方应用账号信息对应关系中,查询与所述域名对应的第三方应用账号信息,并利用查询到的第三方应用账号信息制作签名,然后将签名反馈给网页,以供网页利用签名完成权限认证。本申请的权限认证方法不需要开发人员制作获取签名的接口,也就不需要开发人员拥有后台开发能力,普通的前端开发人员即可实现网页权限认证过程,大大提高了网页开发效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的一种权限认证方法流程图;
图2为本申请实施例公开的另一种权限认证方法流程图;
图3为本申请实施例公开的又一种权限认证方法流程图;
图4为本申请实施例从业务服务器角度公开的一种权限认证装置结构示意图;
图5为本申请实施例公开的一种服务器的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供了一种权限认证方案,以供网页开发人员在网页中实现第三方应用的私有功能时,获取第三方应用提供的签名,以通过签名完成权限认证,进而使用第三方应用的私有功能。
为了实现该方案,本申请在后台提供了服务器,实现与网页和第三方应用服务器之间的数据交互。其中,本申请提供的服务器中记录了网页的域名与网页开发人员注册的第三方应用账号信息之间的关联关系。本申请还提供了脚本文件,网页开发人员通过将该脚本文件写入所开发的网页代码中,即可实现网页自动获取签名的过程,无需开发人员开发签名获取接口。
接下来,从本申请提供的服务器的角度对本申请方案进行详细介绍。参见图1,图1为本申请实施例公开的一种权限认证方法流程图。
如图1所示,该方法包括:
步骤S100、接收网页发送的包含网页的域名的签名请求;
具体地,所述签名请求为网页响应开发人员写入预置脚本文件的动作而向服务器发送的签名请求。预置的脚本文件可以看作触发网页发送签名请求的一个指令,开发人员将脚本文件写入网页后,网页自动向本申请提供的服务器发送签名请求。并且,在该签名请求中携带有网页的域名。
步骤S110、在预置的域名和第三方应用账号信息对应关系中,查询与所述域名对应的第三方应用账号信息;
具体地,开发人员若要在网页中实现第三方应用的私有功能,则需要按照第三方应用的要求,在第三方应用中注册账号,将网页的域名与账号信息绑定,并且在第三方应用中开通该私有功能。进一步,开发人员将注册的第三方应用账号信息与网页的域名提交到本申请的服务器中,由服务器记录域名和第三方应用账号信息之间的对应关系。
服务器在收到网页发送的签名请求时,按照签名请求中携带的域名,查询与之对应的第三方应用账号信息,若能够查询到对应的第三方应用账号信息,则执行下述步骤S120,否则,可以反馈错误码。
步骤S120、利用查询到的第三方应用账号信息制作签名;
服务器根据查询到的第三方应用账号信息制作签名。在制作签名的过程,服务器可以与第三方应用服务器进行一定的数据交互,以利用第三方应用账号信息完成签名的制作。
步骤S130、将所述签名发送至所述网页,以供网页利用所述签名完成权限认证。
服务器制作好签名后反馈给网页,由网页利用签名完成权限认证,进而可以在网页中实现第三方应用的私有功能,如照片分享等。
应用本申请实施例提供的权限认证方法,开发人员想要在网页中实现第三方应用的私有功能时,将网页的域名和第三方应用账号信息上传到本申请提供的服务器中,并将本申请预先提供的脚本文件写入网页中,网页响应脚本文件的写入动作,向服务器发送包含网页的域名的签名请求,服务器在预先收集的域名和第三方应用账号信息对应关系中,查询与所述域名对应的第三方应用账号信息,并利用查询到的第三方应用账号信息制作签名,然后将签名反馈给网页,以供网页利用签名完成权限认证。本申请的权限认证方法不需要开发人员制作获取签名的接口,也就不需要开发人员拥有后台开发能力,普通的前端开发人员即可实现网页权限认证过程,大大提高了网页开发效率。
接下来,本申请以第三方应用为微信的公众号为例,对方案进行介绍。
参见图2,图2为本申请实施例公开的另一种权限认证方法流程图。
如图2所示,该方法包括:
步骤S200、接收网页发送的包含网页的域名的签名请求;
具体地,所述签名请求为网页响应开发人员写入预置脚本文件的动作而向服务器发送的签名请求。预置的脚本文件可以看作触发网页发送签名请求的一个指令,开发人员将脚本文件写入网页后,网页自动向本申请提供的服务器发送签名请求。并且,在该签名请求中携带有网页的域名。
步骤S210、在预置的域名和微信公众号的应用ID和应用秘钥的对应关系中,查询与所述域名对应的应用ID和应用秘钥;
这里,在第三方应用为微信的公众号时,第三方应用账号信息可以是应用ID和应用秘钥。应用ID又可以称之为APPID,应用秘钥又可以称之为APPSECRET。开发人员申请了微信公众号之后,可以通过相应渠道获取公众号的应用ID和应用秘钥。
步骤S220、将所述应用ID和应用秘钥发送至微信服务器,并接收所述微信服务器反馈的访问令牌access_token;
其中,微信服务器在收到应用ID和应用秘钥后判断其属于已注册的公众号的合法信息,进而反馈访问令牌access_token。access_token可以看作访问微信服务器的一个“门禁卡”,一般性的,微信服务器会设置每个access_token的访问次数阈值,避免微信服务器压力过大。
步骤S230、将所述access_token发送至所述微信服务器,并接收所述微信服务器反馈的jsapi_ticket;
服务器将access_token发送给微信服务器,并接收微信服务器反馈的jsapi_ticket。对于jsapi_ticket而言,微信服务器同样设置了访问次数阈值。
步骤S240、利用所述jsapi_ticket以及签名算法,制作签名;
具体地,微信服务器侧规定了签名制作方式,在制作该签名时需要用到jsapi_ticket。服务器利用jsapi_ticket并按照预置的签名算法,制作签名。
步骤S250、将所述签名发送至所述网页,以供网页利用所述签名完成权限认证。
本实施例中以第三方应用为微信公众号为例,对方案实施过程进行了详细介绍。
其中,上述服务器利用jsapi_ticket以及签名算法,制作签名的过程,具体可以是:
服务器收到jsapi_ticket之后,生成一段随机字符串,然后利用jsapi_ticket、随机字符串、域名以及当前时间戳,按照一定方式组合为一段字符串,利用该字符串创建签名。
上述已经提及,微信服务器对access_token和jsapi_ticket的访问次数设置了上限,因此为了避免重复向微信服务器申请相同的access_token和jsapi_ticket,本申请实施例可以将微信服务器反馈的jsapi_ticket,与应用ID和应用秘钥建立对应关系,并在本地缓存该对应关系。在收到网页发送的签名请求,并查询域名对应的应用ID和应用秘钥后,首先在本地缓存中查找是否存在对应的jsapi_ticket,若存在,且jsapi_ticket并未失效,则可以直接使用该jsapi_ticket,无需向微信服务器申请。详细方案参见图3,图3为本申请实施例公开的又一种权限认证方法流程图。
如图3所示,该方法包括:
步骤S300、接收网页发送的包含网页的域名的签名请求;
具体地,所述签名请求为网页响应开发人员写入预置脚本文件的动作而向服务器发送的签名请求。预置的脚本文件可以看作触发网页发送签名请求的一个指令,开发人员将脚本文件写入网页后,网页自动向本申请提供的服务器发送签名请求。并且,在该签名请求中携带有网页的域名。
步骤S310、在预置的域名和微信公众号的应用ID和应用秘钥的对应关系中,查询与所述域名对应的应用ID和应用秘钥;
这里,在第三方应用为微信的公众号时,第三方应用账号信息可以是应用ID和应用秘钥。应用ID又可以称之为APPID,应用秘钥又可以称之为APPSECRET。开发人员申请了微信公众号之后,可以通过相应渠道获取公众号的应用ID和应用秘钥。
步骤S320、在本地缓存中查询是否存在与所述应用ID和应用秘钥对应的jsapi_ticket;若不存在,则执行步骤S350,若存在,则执行步骤S330;
步骤S330、检查本地缓存的与所述应用ID和应用秘钥对应的jsapi_ticket是否处于有效期限内,若未处于有效期限内,则执行步骤S350,若处于有效期限内,则执行步骤S340;
具体地,jsapi_ticket存在有效期限,一般性的为2700秒。超出有效期限之后,jsapi_ticket将会失效,需要重新从微信服务器中获取新的jsapi_ticket。
步骤S340、利用该jsapi_ticket以及签名算法,制作签名;
步骤S350、将所述应用ID和应用秘钥发送至微信服务器并接收所述微信服务器反馈的访问令牌access_token;
步骤S360、将所述access_token发送至所述微信服务器,并接收所述微信服务器反馈的jsapi_ticket;
步骤S370、将应用ID和应用秘钥与所述jsapi_ticket建立对应关系,并将该对应关系缓存在本地;
步骤S380、利用所述jsapi_ticket以及签名算法,制作签名;
步骤S390、将所述签名发送至所述网页,以供网页利用所述签名完成权限认证。
相比于上一实施例,本实施例在每次接收微信服务器反馈的jsapi_ticket后均与应用ID和应用秘钥建立对应关系,并进行缓存。后续在收到网页发送的签名请求,并查询确定了与网页域名对应的应用ID和应用秘钥之后,首先在缓存中查找是否存在对应的jsapi_ticket,若存在且未失效,则可以直接使用该jsapi_ticket进行签名的制作,无需访问微信服务器,有效节省了访问微信服务器的次数。
下面对本申请实施例提供的权限认证装置进行描述,下文描述的权限认证装置与上文描述的权限认证方法可相互对应参照。
对于应用于服务器的权限认证装置,参见图4,图4为本申请实施例从业务服务器角度公开的一种权限认证装置结构示意图。
如图4所示,权限认证装置包括:
签名请求接收单元41,用于接收网页发送的包含网页的域名的签名请求,所述签名请求为网页响应开发人员写入预置脚本文件的动作而向服务器发送的签名请求;
账号信息查询单元42,用于在预置的域名和第三方应用账号信息对应关系中,查询与所述域名对应的第三方应用账号信息;
签名制作单元43,用于利用查询到的第三方应用账号信息制作签名;
签名发送单元44,用于将所述签名发送至所述网页,以供网页利用所述签名完成权限认证。
应用本申请实施例提供的权限认证装置,开发人员想要在网页中实现第三方应用的私有功能时,将网页的域名和第三方应用账号信息上传到本申请提供的服务器中,并将本申请预先提供的脚本文件写入网页中,网页响应脚本文件的写入动作,向服务器发送包含网页的域名的签名请求,服务器在预先收集的域名和第三方应用账号信息对应关系中,查询与所述域名对应的第三方应用账号信息,并利用查询到的第三方应用账号信息制作签名,然后将签名反馈给网页,以供网页利用签名完成权限认证。应用本申请的权限认证装置,不需要开发人员制作获取签名的接口,也就不需要开发人员拥有后台开发能力,普通的前端开发人员即可实现网页权限认证过程,大大提高了网页开发效率。
对于第三方应用,其可以是微信公众号,对应的第三方应用账号信息为公众号的应用ID和应用秘钥。基于此,上述签名制作单元可以包括:
第一微信服务器访问单元,用于将所述应用ID和应用秘钥发送至微信服务器,并接收所述微信服务器反馈的访问令牌access_token;
第二微信服务器访问单元,用于将所述access_token发送至所述微信服务器,并接收所述微信服务器反馈的jsapi_ticket;
微信签名制作单元,用于利用所述jsapi_ticket以及签名算法,制作签名。
其中,上述微信签名制作单元可以包括:
第一微信签名制作子单元,用于利用所述jsapi_ticket、随机字符串、所述域名及当前时间戳,制作签名。
可选的,在上述权限认证装置的结构之上,还可以进一步包括:
缓存单元,用于在所述第二微信服务器访问单元接收所述微信服务器反馈的jsapi_ticket之后,将应用ID和应用秘钥与所述jsapi_ticket建立对应关系,并将该对应关系缓存在本地。
基于此,权限认证装置还可以包括:
缓存查询单元,用于在本地缓存中查询是否存在与所述应用ID和应用秘钥对应的jsapi_ticket,若不存在,则执行所述第一微信服务器访问单元,若存在,则执行有效期查询单元;
所述有效期查询单元,用于检查本地缓存的与所述应用ID和应用秘钥对应的jsapi_ticket是否处于有效期限内,若未处于有效期内,则执行所述第一微信服务器访问单元,若处于有效期限内,则将该jsapi_ticket发送至所述微信签名制作单元,以供微信签名制作单元利用该jsapi_ticket以及签名算法,制作签名。
本申请通过设置缓存单元,在每次接收微信服务器反馈的jsapi_ticket后均与应用ID和应用秘钥建立对应关系,并进行缓存。后续在收到网页发送的签名请求,并查询确定了与网页域名对应的应用ID和应用秘钥之后,由缓存查询单元首先在缓存中查找是否存在对应的jsapi_ticket,若存在且未失效,则可以直接使用该jsapi_ticket进行签名的制作,无需访问微信服务器,有效节省了访问微信服务器的次数。
对于上述服务器的硬件结构,参见图5,图5为本申请实施例提供的服务器的硬件结构示意图。如图5所示,该服务器可以包括:
处理器1,通信接口2,存储器3,通信总线4,和显示屏5;
其中处理器1、通信接口2、存储器3和显示屏5通过通信总线4完成相互间的通信;
可选的,通信接口2可以为通信模块的接口,如GSM模块的接口;
处理器1,用于执行程序;
存储器3,用于存放程序;
程序可以包括程序代码,所述程序代码包括处理器的操作指令。
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
其中,程序可具体用于:
接收网页发送的包含网页的域名的签名请求,所述签名请求为网页响应开发人员写入预置脚本文件的动作而向服务器发送的签名请求;
在预置的域名和第三方应用账号信息对应关系中,查询与所述域名对应的第三方应用账号信息;
利用查询到的第三方应用账号信息制作签名;
将所述签名发送至所述网页,以供网页利用所述签名完成权限认证。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种权限认证方法,其特征在于,应用于服务器,该方法包括:
接收网页发送的包含网页的域名的签名请求,所述签名请求为网页响应开发人员写入预置脚本文件的动作而向服务器发送的签名请求;
在预置的域名和第三方应用账号信息对应关系中,查询与所述域名对应的第三方应用账号信息;
利用查询到的第三方应用账号信息制作签名;
将所述签名发送至所述网页,以供网页利用所述签名完成权限认证。
2.根据权利要求1所述的方法,其特征在于,第三方应用为微信的公众号,第三方应用账号信息为公众号的应用ID和应用秘钥,所述利用查询到的第三方应用账号信息制作签名,包括:
将所述应用ID和应用秘钥发送至微信服务器,并接收所述微信服务器反馈的访问令牌access_token;
将所述access_token发送至所述微信服务器,并接收所述微信服务器反馈的jsapi_ticket;
利用所述jsapi_ticket以及签名算法,制作签名。
3.根据权利要求2所述的方法,其特征在于,所述利用所述jsapi_ticket以及签名算法,制作签名,包括:
利用所述jsapi_ticket、随机字符串、所述域名及当前时间戳,制作签名。
4.根据权利要求2所述的方法,其特征在于,在接收所述微信服务器反馈的jsapi_ticket之后,该方法还包括:
将应用ID和应用秘钥与所述jsapi_ticket建立对应关系,并将该对应关系缓存在本地。
5.根据权利要求4所述的方法,其特征在于,在所述将所述应用ID和应用秘钥发送至微信服务器之前,该方法还包括:
在本地缓存中查询是否存在与所述应用ID和应用秘钥对应的jsapi_ticket;
若不存在,则执行所述将所述应用ID和应用秘钥发送至微信服务器的步骤;
若存在,则检查本地缓存的与所述应用ID和应用秘钥对应的jsapi_ticket是否处于有效期限内;
若处于有效期限内,则利用该jsapi_ticket以及签名算法,制作签名;
若未处于有效期限内,则执行所述将所述应用ID和应用秘钥发送至微信服务器的步骤。
6.一种权限认证装置,其特征在于,应用于服务器,该装置包括:
签名请求接收单元,用于接收网页发送的包含网页的域名的签名请求,所述签名请求为网页响应开发人员写入预置脚本文件的动作而向服务器发送的签名请求;
账号信息查询单元,用于在预置的域名和第三方应用账号信息对应关系中,查询与所述域名对应的第三方应用账号信息;
签名制作单元,用于利用查询到的第三方应用账号信息制作签名;
签名发送单元,用于将所述签名发送至所述网页,以供网页利用所述签名完成权限认证。
7.根据权利要求6所述的装置,其特征在于,第三方应用为微信的公众号,第三方应用账号信息为公众号的应用ID和应用秘钥,所述签名制作单元包括:
第一微信服务器访问单元,用于将所述应用ID和应用秘钥发送至微信服务器,并接收所述微信服务器反馈的访问令牌access_token;
第二微信服务器访问单元,用于将所述access_token发送至所述微信服务器,并接收所述微信服务器反馈的jsapi_ticket;
微信签名制作单元,用于利用所述jsapi_ticket以及签名算法,制作签名。
8.根据权利要求7所述的装置,其特征在于,所述微信签名制作单元包括:
第一微信签名制作子单元,用于利用所述jsapi_ticket、随机字符串、所述域名及当前时间戳,制作签名。
9.根据权利要求7所述的装置,其特征在于,还包括:
缓存单元,用于在所述第二微信服务器访问单元接收所述微信服务器反馈的jsapi_ticket之后,将应用ID和应用秘钥与所述jsapi_ticket建立对应关系,并将该对应关系缓存在本地。
10.根据权利要求9所述的装置,其特征在于,还包括:
缓存查询单元,用于在本地缓存中查询是否存在与所述应用ID和应用秘钥对应的jsapi_ticket,若不存在,则执行所述第一微信服务器访问单元,若存在,则执行有效期查询单元;
所述有效期查询单元,用于检查本地缓存的与所述应用ID和应用秘钥对应的jsapi_ticket是否处于有效期限内,若未处于有效期内,则执行所述第一微信服务器访问单元,若处于有效期限内,则将该jsapi_ticket发送至所述微信签名制作单元,以供微信签名制作单元利用该jsapi_ticket以及签名算法,制作签名。
CN201610016984.1A 2016-01-11 2016-01-11 一种权限认证方法及装置 Active CN106961332B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610016984.1A CN106961332B (zh) 2016-01-11 2016-01-11 一种权限认证方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610016984.1A CN106961332B (zh) 2016-01-11 2016-01-11 一种权限认证方法及装置

Publications (2)

Publication Number Publication Date
CN106961332A true CN106961332A (zh) 2017-07-18
CN106961332B CN106961332B (zh) 2020-02-28

Family

ID=59480706

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610016984.1A Active CN106961332B (zh) 2016-01-11 2016-01-11 一种权限认证方法及装置

Country Status (1)

Country Link
CN (1) CN106961332B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107508823A (zh) * 2017-09-08 2017-12-22 新浪网技术(中国)有限公司 实现回源认证的方法和***
CN109840719A (zh) * 2019-02-28 2019-06-04 新华三技术有限公司 组织域的管控方法、装置和服务器
WO2019210579A1 (zh) * 2018-05-04 2019-11-07 平安科技(深圳)有限公司 调用api接口的验证方法、装置、计算机设备和存储介质
CN110704786A (zh) * 2019-10-12 2020-01-17 无锡安腾软件开发有限公司 一种限制微信转发的方法
CN110895493A (zh) * 2019-11-29 2020-03-20 宜人恒业科技发展(北京)有限公司 一种访问应用程序接口的方法、装置及存储介质
CN111797434A (zh) * 2020-05-22 2020-10-20 北京国电通网络技术有限公司 一种文件编辑方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905497A (zh) * 2012-12-27 2014-07-02 腾讯科技(深圳)有限公司 实现第三方应用业务网站登录的方法、装置及应用平台
CN104092784A (zh) * 2014-06-24 2014-10-08 用友优普信息技术有限公司 数据交换装置和数据交换方法
US20150332244A1 (en) * 2013-01-31 2015-11-19 Tencent Technology (Shenzhen) Company Limited Method, apparatus and system for procrssing payment request for virtual commodities on open network platform

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905497A (zh) * 2012-12-27 2014-07-02 腾讯科技(深圳)有限公司 实现第三方应用业务网站登录的方法、装置及应用平台
US20150332244A1 (en) * 2013-01-31 2015-11-19 Tencent Technology (Shenzhen) Company Limited Method, apparatus and system for procrssing payment request for virtual commodities on open network platform
CN104092784A (zh) * 2014-06-24 2014-10-08 用友优普信息技术有限公司 数据交换装置和数据交换方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SNANDY: "微信公众账号开发入门", 《HTTPS://WWW.CNBLOGS.COM/SNANDY/ARCHIVE/2015/10/21/4892122.HTML》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107508823A (zh) * 2017-09-08 2017-12-22 新浪网技术(中国)有限公司 实现回源认证的方法和***
CN107508823B (zh) * 2017-09-08 2020-02-11 新浪网技术(中国)有限公司 实现回源认证的方法和***
WO2019210579A1 (zh) * 2018-05-04 2019-11-07 平安科技(深圳)有限公司 调用api接口的验证方法、装置、计算机设备和存储介质
CN109840719A (zh) * 2019-02-28 2019-06-04 新华三技术有限公司 组织域的管控方法、装置和服务器
CN110704786A (zh) * 2019-10-12 2020-01-17 无锡安腾软件开发有限公司 一种限制微信转发的方法
CN110704786B (zh) * 2019-10-12 2022-04-05 无锡安腾软件开发有限公司 一种限制微信转发的方法
CN110895493A (zh) * 2019-11-29 2020-03-20 宜人恒业科技发展(北京)有限公司 一种访问应用程序接口的方法、装置及存储介质
CN110895493B (zh) * 2019-11-29 2022-03-15 宜人恒业科技发展(北京)有限公司 一种访问应用程序接口的方法、装置及存储介质
CN111797434A (zh) * 2020-05-22 2020-10-20 北京国电通网络技术有限公司 一种文件编辑方法及装置
CN111797434B (zh) * 2020-05-22 2024-06-07 北京国电通网络技术有限公司 一种文件编辑方法及装置

Also Published As

Publication number Publication date
CN106961332B (zh) 2020-02-28

Similar Documents

Publication Publication Date Title
CN106961332A (zh) 一种权限认证方法及装置
CN110826043B (zh) 一种数字身份申请***及方法、身份认证***及方法
CN104378282B (zh) 消息发送方法、消息转发方法、装置及***
CN108242999B (zh) 密钥托管方法、设备及计算机可读存储介质
CN101414909A (zh) 网络应用用户身份验证***、方法和移动通信终端
CN110400145A (zh) 一种数字身份申请***及方法、身份认证***及方法
CN103069774A (zh) 安全地接入所通知的服务
CN107911378A (zh) 一种在线电子签章的***及方法
CN111314172B (zh) 基于区块链的数据处理方法、装置、设备及存储介质
CN101699892A (zh) 动态口令生成方法和动态口令生成装置及网络***
CN104517217A (zh) 一种数据处理方法及终端
CN107122673A (zh) 一种信息加密方法及终端
CN101957958A (zh) 一种实现网络支付的方法及手机终端
CN113506119A (zh) 一种基于app的充电桩交易管理方法和***
CN106453263A (zh) 一种手机号码绑定app的方法及***
CN107995200A (zh) 一种基于智能卡的证书签发方法、身份认证方法以及***
CN110930150A (zh) 凭证生成、签名及验签方法、装置、设备及存储介质
CN106572095A (zh) 帐号注册方法、装置及***
CN111444493A (zh) 电子合同的签署方法、装置、电子设备及可读存储介质
CN109818965B (zh) 个人身份验证装置及方法
CN105631667A (zh) 一种认证方法、装置及***
CN109756465A (zh) 一种身份验证的方法及设备
TWM590271U (zh) 業務處理系統
CN108876485A (zh) 一种广告方案比稿方法、服务器及计算机可读介质
CN108243005B (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