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

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

Info

Publication number
CN106961332B
CN106961332B CN201610016984.1A CN201610016984A CN106961332B CN 106961332 B CN106961332 B CN 106961332B CN 201610016984 A CN201610016984 A CN 201610016984A CN 106961332 B CN106961332 B CN 106961332B
Authority
CN
China
Prior art keywords
signature
application
webpage
server
jsapi
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
CN201610016984.1A
Other languages
English (en)
Other versions
CN106961332A (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

Images

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(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
其中,程序可具体用于:
接收网页发送的包含网页的域名的签名请求,所述签名请求为网页响应开发人员写入预置脚本文件的动作而向服务器发送的签名请求;
在预置的域名和第三方应用账号信息对应关系中,查询与所述域名对应的第三方应用账号信息;
利用查询到的第三方应用账号信息制作签名;
将所述签名发送至所述网页,以供网页利用所述签名完成权限认证。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (11)

1.一种权限认证方法,其特征在于,应用于服务器,所述服务器用于与网页和第三方应用服务器之间的数据交互,该方法包括:
接收网页发送的包含网页的域名的签名请求,所述签名请求为网页响应开发人员写入预置脚本文件的动作而向服务器发送的签名请求;
在预置的域名和第三方应用账号信息对应关系中,查询与所述域名对应的第三方应用账号信息,所述第三方应用账号信息为应用ID和应用秘钥;
利用查询到的第三方应用账号信息和预置的签名算法制作签名;
将所述签名发送至所述网页,以供网页利用所述签名完成权限认证。
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.一种权限认证装置,其特征在于,应用于服务器,所述服务器用于与网页和第三方应用服务器之间的数据交互,该装置包括:
签名请求接收单元,用于接收网页发送的包含网页的域名的签名请求,所述签名请求为网页响应开发人员写入预置脚本文件的动作而向服务器发送的签名请求;
账号信息查询单元,用于在预置的域名和第三方应用账号信息对应关系中,查询与所述域名对应的第三方应用账号信息,所述第三方应用账号信息为应用ID和应用秘钥;
签名制作单元,用于利用查询到的第三方应用账号信息和预置的签名算法制作签名;
签名发送单元,用于将所述签名发送至所述网页,以供网页利用所述签名完成权限认证。
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以及签名算法,制作签名。
11.一种服务器,其特征在于,包括:处理器,通信接口,存储器,通信总线和显示屏,所述处理器、通信接口、存储器和显示屏通过通信总线完成相互间的通信,所述处理器用于执行程序,所述存储器用于存放程序,其中程序具体用于执行权利要求1-5任一所述的权限认证方法。
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 CN106961332A (zh) 2017-07-18
CN106961332B true 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)

Families Citing this family (6)

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

Citations (2)

* 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 用友优普信息技术有限公司 数据交换装置和数据交换方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103971228B (zh) * 2013-01-31 2017-08-01 深圳市腾讯计算机系统有限公司 网络开放平台虚拟商品的支付请求处理方法、装置和系统

Patent Citations (2)

* 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 用友优普信息技术有限公司 数据交换装置和数据交换方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
微信公众账号开发入门;Snandy;《https://www.cnblogs.com/snandy/archive/2015/10/21/4892122.html》;20151021;全文 *

Also Published As

Publication number Publication date
CN106961332A (zh) 2017-07-18

Similar Documents

Publication Publication Date Title
CN106961332B (zh) 一种权限认证方法及装置
CN110462658B (zh) 用于提供数字身份记录以核实用户的身份的系统和方法
CN112333198B (zh) 安全跨域登录方法、系统及服务器
CN103023918B (zh) 为多个网络服务统一提供登录的方法、系统和装置
JP2021524088A (ja) リソース移行データの管理方法及び装置、並びにコンピュータプログラム
CN105592011B (zh) 一种账号登录方法及装置
CN112887160B (zh) 区块链一体机及其多节点部署方法、装置、存储介质
JP6574168B2 (ja) 端末識別方法、ならびにマシン識別コードを登録する方法、システム及び装置
US11349665B2 (en) Device attestation server and method for attesting to the integrity of a mobile device
CN110602052A (zh) 微服务处理方法及服务器
WO2013107403A1 (zh) Oauth api的使用、调用方法、设备及系统
CN102883324A (zh) 移动终端中的插件调用安全验证方法及装置、移动终端
CN106656455B (zh) 一种网站访问方法及装置
CN110365711B (zh) 多平台用户身份关联方法、装置、计算机设备及计算机可读存储介质
CN113285954A (zh) 可验证声明验证方法、系统、电子设备及存储介质
CN111949974A (zh) 一种认证的方法、装置、计算机设备及存储介质
CN112311788A (zh) 一种访问控制方法、装置、服务器及介质
CN112738100A (zh) 数据访问的鉴权方法、装置、鉴权设备和鉴权系统
CN110599311A (zh) 资源处理方法、装置、电子设备及存储介质
WO2019175427A1 (en) Method, device and medium for protecting work based on blockchain
CN110489957B (zh) 访问请求的管理方法和计算机存储介质
CN113642239B (zh) 一种联邦学习建模方法及系统
CN112528268B (zh) 跨渠道的小程序登录管理方法、装置及相关设备
CN116523515A (zh) 基于区块链去中心化互联网的用户请求处理方法及装置
CN111200645A (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