微博账号自动授权方法及设备的制作方法

文档序号:8004890阅读:266来源:国知局
微博账号自动授权方法及设备的制作方法
【专利摘要】本发明提供一种微博账号自动授权方法及设备。方法包括:客户端按照预设的周期,周期性的检测本地存储的与所述客户端使用的账号对应的授权码是否超期;如果检测到所述授权码超期,将所述账号发送给微博服务器,以使所述微博服务器重新为所述账号分配授权码并返回重新分配的授权码;接收所述微博服务器发送的所述重新分配的授权码,并用所述重新分配的授权码更新本地存储的授权码。本发明技术方案可以解决因授权码超期导致客户端使用的服务出现错误而被停止的问题。
【专利说明】微博账号自动授权方法及设备

【技术领域】
[0001] 本发明涉及网络通信技术,尤其涉及一种微博账号自动授权方法及设备。

【背景技术】
[0002] 当今,微博已经成为一种主要的交流手段,也正逐渐成为人们的一种生活习惯。 "开发者"客户端在对微博进行操作时,例如无论是抓取微博还是获取用户的私信、关注等, 都需要客户端身份的支持。
[0003] 目前,微博服务器对客户端身份鉴权主要是用OAuth这种方式,其本质就是通过 客户端的微博账号生成授权码,客户端在对微博的操作过程中携带该授权码,微博服务器 基于所携带的授权码对客户端身份进行鉴权。但是,在实际应用中,授权码可能会超期,这 就导致客户端当前使用的服务出现错误而被停止。


【发明内容】

[0004] 本发明提供一种微博账号自动授权方法及设备,用以解决因授权码超期导致客户 端使用的服务出现错误而被停止的问题。
[0005] 第一方面提供一种微博账号自动授权方法,包括:
[0006] 客户端按照预设的周期,周期性的检测本地存储的与所述客户端使用的账号对应 的授权码是否超期;
[0007] 如果检测到所述授权码超期,所述客户端将所述账号发送给微博服务器,以使所 述微博服务器重新为所述账号分配授权码并返回重新分配的授权码;
[0008] 所述客户端接收所述微博服务器发送的所述重新分配的授权码,并用所述重新分 配的授权码更新本地存储的授权码。
[0009] 第二方面提供一种微博账号自动授权方法,包括:
[0010] 微博服务器接收客户端周期性发送的所述客户端使用的账号和与所述账号对应 的授权码,其中,所述账号和所述授权码存储于所述客户端本地;
[0011] 所述微博服务器获取所述授权码的可用时间,并将所述授权码的可用时间发送给 所述客户端,以供所述客户端判断所述授权码是否超期;
[0012] 所述微博服务器接收所述客户端在判断出所述授权码超期后发送的所述账号,并 重新为所述账号分配授权码;
[0013] 所述微博服务器将所述重新分配的授权码发送给所述客户端,以使所述客户端用 所述重新分配的授权码更新本地存储的授权码。
[0014] 第三方面提供一种客户端,包括:
[0015] 检测模块,用于按照预设的周期,周期性的检测本地存储的与所述客户端使用的 账号对应的授权码是否超期;
[0016] 发送模块,用于在所述检测模块检测到所述授权码超期时,将所述账号发送给微 博服务器,以使所述微博服务器重新为所述账号分配授权码并返回重新分配的授权码;
[0017] 接收模块,用于接收所述微博服务器发送的所述重新分配的授权码;
[0018] 更新模块,用于用所述接收模块接收的所述重新分配的授权码更新本地存储的授 权码。
[0019] 第四方面提供一种微博服务器,包括:
[0020] 接收模块,用于接收客户端周期性发送的所述客户端使用的账号和与所述账号对 应的授权码,其中,所述账号和所述授权码存储于所述客户端本地;
[0021] 获取模块,用于获取所述授权码的可用时间;
[0022] 发送模块,用于将所述获取模块获取的所述授权码的可用时间发送给所述客户 端,以供所述客户端判断所述授权码是否超期;
[0023] 所述接收模块还用于,接收所述客户端在判断出所述授权码超期后发送的所述账 号;
[0024] 分配模块,用于在所述接收模块接收到所述客户端在判断出所述授权码超期后发 送的所述账号后,重新为所述账号分配授权码;
[0025] 所述发送模块还用于,将所述重新分配的授权码发送给所述客户端,以使所述客 户端用所述重新分配的授权码更新本地存储的授权码。
[0026] 本发明提供的微博账号自动授权方法及设备,客户端周期性的检测本地存储的与 客户端使用的账号对应的授权码是否超期,并在检测出该授权码超期后,将对应的账号发 送给微博服务器,以使微博服务器重新为该账号分配授权码并返回重新分配的授权码,客 户端接收到重新分配的授权码后,用重新分配的授权码更新本地存储的授权码,实现授权 码的自动授权,这样当客户端基于本地存储的授权码使用服务时可以避免出现授权码超期 的情况,解决了因授权码超期导致客户端使用的服务出现错误而被停止的问题。

【专利附图】

【附图说明】
[0027] 图1为本发明实施例提供的一种微博账号自动授权方法的流程图;
[0028] 图2为本发明实施例提供的另一种微博账号自动授权方法的流程图;
[0029] 图3为本发明实施例提供的又一种微博账号自动授权方法的流程图;
[0030] 图4为本发明实施例提供的一种客户端的结构示意图;
[0031] 图5为本发明实施例提供的一种微博服务器的结构示意图。

【具体实施方式】
[0032] 图1为本发明实施例提供的一种微博账号自动授权方法的流程图。如图1所示, 所述方法包括:
[0033] 101、客户端按照预设的周期,周期性的检测本地存储的与所述客户端使用的账号 对应的授权码是否超期。
[0034] 102、如果检测到所述授权码超期,所述客户端将所述账号发送给微博服务器,以 使所述微博服务器重新为所述账号分配授权码并返回重新分配的授权码。
[0035] 103、所述客户端接收所述微博服务器发送的所述重新分配的授权码,并用所述重 新分配的授权码更新本地存储的授权码。
[0036] 本实施例适用于各种微博应用场景,例如新浪微博等,主要用于对微博中使用的 用于对客户端进行身份鉴权的授权码进行定时更新,从而解决由于授权码超期而导致客户 端使用的服务被停止的问题。在此说明,本实施例提供的方法并不限于对微博场景中使用 的授权码进行定时更新,适用于任何需要对授权码进行定时更新的场景。
[0037] 在本实施例中,微博用户可以在微博上浏览感兴趣的信息,或者在微博上发布内 容供别人浏览。而"开发者"客户端(以下简称为客户端)所做的是抓取指定"微博用户"曾 经发过的微博和关注的微博用以汇总保存等。每个客户端都有一个微博账号(以下简称为 账号),也就是客户端使用的账号。为了验证客户端的操作是否合理或有效,微博服务器会 根据客户端使用的账号生成对应的授权码,然后基于该授权码验证客户端的操作是否合理 或有效。其中,授权码有一定的存在时间,当授权码超期后就会失效。如果授权码失效后, 客户端依然使用该授权码,那么微博服务器基于该授权码的验证结果就是错误的,这样客 户端使用的服务将被停止。
[0038] 在本实施例中,客户端将使用的账号和与该账号对应的授权码存储在客户端本 地,例如可以将客户端使用的账号和该账号对应的授权码配置在本地的可扩展标记语言 (ExtensibleMarkupLanguage,简称为XML)文件中,但不限于此。进一步可选的,为了保 证授权码的安全性,可以对授权码进行加密。以使用XML将客户端使用的账号和该账号对 应的授权码配置到XML文件中的配置信息可以表示为:
[0039] <weibo> <accoutType>sina</accoutType) <weiboAccount>founderweibo@sina. com</weiboAccount> <uid/> <syncPrivate open=〃true〃> <sinceId/> <pageTime/> <lastId/> </syncPrivate> <accessToken>2. 00n2GiVC0NBRiJ54de2242c2bJvq2E</accessToken) <accessSecret/> </weibo>
[0040] 上述配置信息中的"weiboAccount"和"accessToken"分别对应客户端使用的账 户和该账号对应的授权码。
[0041] 为了能够及时对授权码进行更新,客户端本地预先设定一周期,客户端根据该预 设的周期,周期性的检测本地存储的与客户端使用的账号对应的授权码是否超期;如果检 测到授权码超期,则将该账号发送给微博服务器,以使微博服务器重新为该账号分配授权 码并返回重新分配的授权码,这样客户端接收到微博服务器返回的重新分配的授权码后, 使用该重新分配的授权码更新本地存储的授权码,即用重新分配的授权码替换本地存储的 授权码,从而达到授权码的自动定时更新。其中,微博服务器接收到客户端发送的账号后, 可以获知该账号对应的授权码已经超期,于是会重新为该账号分配新的授权码,实现对该 账号的授权,并将重新分配的授权码返回给客户端,使得客户端可以将本地存储的已经超 期的授权码更新为重新分配的授权码。这样,可以保证客户端使用的授权码都是未超期的, 那么微博服务器基于客户端使用的授权码对客户端的操作进行合理或有效性验证时就不 会出现因授权码超期而导致服务被停止的情况,使得客户端可以顺利使用当前服务。
[0042] 在此说明,客户端使用的服务可以是抓取指定"微博用户"曾经发过的微博和关注 的微博用以汇总保存等等,但不限于此。
[0043] 在此说明,本实施例并不对预设的周期做具体限定,例如可以是10分钟、2分钟或 5分钟等。
[0044] 在具体实现上,客户端可以采用Apache基金会下的一个开源项目ApacheCamel 来定义一个周期,并实现周期性检测本地存储的与所述客户端使用的账号对应的授权码是 否超期,具体实现代码如下:
[0045] 〈route id=〃sysToken〃> <from uri=^timer: //sysToken?fixedRate=true&amp; period=600000// /> <to uri=〃bean:SyncService?method=syncToken〃/></route>
[0046] 上述代码定义了一个定时器,每10分钟(600000ms)触发一次,任务就是执行SyncService服务中的syncToken方法,即检测本地存储的授权码是否超期。
[0047] 在一可选实施方式中,步骤101的实施方式包括:客户端可以预先从微博服务器 获取每个授权码的生存时间并存储在本地,这样可以通过判断授权码的生存时间是否结束 来判断授权码是否超期。
[0048] 在另一可选实施方式中,步骤101的实施方式包括:客户端按照预设的周期,周期 性的获取本地存储的客户端使用的账号和该账号对应的授权码,并向微博服务器发送所获 取的账号和授权码,以使微博服务器返回授权码的可用时间;客户端接收微博服务器发送 的授权码的可用时间,如果所述授权码的可用时间大于0,则客户端确定所述授权码未超 期;如果所述授权码的可用时间小于或等于0,则客户端确定所述授权码超期。
[0049] 在具体实现上,微博服务器可以将授权码的可用时间用JSON字符串的方式发送 给客户端,客户端解析JSON字符串,判断授权码的可用时间是否还有,如果有,那么表示客 户端使用的账户依然有效,不执行任何操作;如果没有,则表示客户端使用的账户已经过 期,那么需要进行授权码的更新。授权码的更新过程如步骤102和103,例如可以通过超文 本传输协议(HypertextTransferProtocol,简称为HTTP)将客户端使用的账户发给微博 服务器,微博服务器返回重新为该账号分配的授权码,客户端将重新分配的授权码更新到 本地的XML文件中。
[0050] 在本实施例中,客户端周期性的检测本地存储的与客户端使用的账号对应的授权 码是否超期,并在检测出该授权码超期后,将对应的账号发送给微博服务器,以使微博服务 器重新为该账号分配授权码并返回重新分配的授权码,客户端接收到重新分配的授权码 后,用重新分配的授权码更新本地存储的授权码,实现授权码的自动授权,这样当客户端基 于本地存储的授权码使用服务,例如发私信或评论等时可以避免出现授权码超期的情况, 解决了因授权码超期导致客户端使用的服务出现错误而被停止的问题。
[0051] 图2为本发明实施例提供的另一种微博账号自动授权方法的流程图。如图2所示, 所述方法包括:
[0052] 201、微博服务器接收客户端周期性发送的所述客户端使用的账号和与所述账号 对应的授权码,其中,所述账号和所述授权码存储于所述客户端本地。
[0053] 202、所述微博服务器获取所述授权码的可用时间,并将所述授权码的可用时间发 送给所述客户端,以供所述客户端判断所述授权码是否超期。
[0054] 203、所述微博服务器接收所述客户端在判断出所述授权码超期后发送的所述账 号,并重新为所述账号分配授权码。
[0055] 204、所述微博服务器将所述重新分配的授权码发送给所述客户端,以使所述客户 端用所述重新分配的授权码更新本地存储的授权码。
[0056] 本实施例适用于各种微博应用场景,例如新浪微博等,主要用于对微博中使用的 用于对客户端进行身份鉴权的授权码进行定时更新,从而解决由于授权码超期而导致客户 端使用的服务被停止的问题。在此说明,本实施例提供的方法并不限于对微博场景中使用 的授权码进行定时更新,适用于任何需要对授权码进行定时更新的场景。
[0057] 本实施例提供的方法与图1所示实施例提供的方法相适应,是从微博服务器的角 度进行的描述,详细流程可参见图1所示实施例的描述。
[0058] 可选的,微博服务器可以将授权码的可用时间用JSON字符串的方式发送给客户 端,客户端解析JSON字符串,判断授权码的可用时间是否还有,如果有,那么表示客户端使 用的账户依然有效,不执行任何操作;如果没有,则表示客户端使用的账户已经过期,那么 需要进行授权码的更新。授权码的具体更新过程可参见图1所示实施例的描述。
[0059] 在本实施例中,微博服务器接收客户端发送的客户端使用的账号和该账号对应的 授权码,然后将该授权码的可用时间提供给客户端,使得客户端判断该授权码是否已经超 期,并接收客户端在判断出该授权码超期后发送的账号,然后重新为该账号分配授权码并 返回重新分配的授权码,使得客户端用重新分配的授权码更新本地存储的授权码,实现授 权码的自动授权,这样当客户端基于本地存储的授权码使用服务,例如抓取指定"微博用 户"曾经发过的微博和关注的微博用以汇总保存等时可以避免出现授权码超期的情况,解 决了因授权码超期导致客户端使用的服务出现错误而被停止的问题。
[0060] 图3为本发明实施例提供的又一种微博账号自动授权方法的流程图。如图3所示, 所述方法包括:
[0061] 301、客户端按照预设的周期,周期性的读取本地XML文件中存储的客户端使用的 账号和该账号对应的授权码。
[0062] 302、客户端将获取的账号和授权码发送给微博服务器,以请求获取该授权码的可 用时间。
[0063] 303、微博服务器获取上述授权码的可用时间并返回给客户端。
[0064] 304、客户端判断授权码的可用时间是否大于0;如果判断结果为否,执行步骤 305 ;如果判断结果为是,执行步骤308。
[0065] 305、客户端将上述账号发送给微博服务器,请求微博服务器重新为该账号分配授 权码。
[0066] 306、微博服务器重新为客户端发送的账号分配授权码,并将重新分配的授权码返 回给客户端。
[0067] 307、客户端将上述账号和上述重新分配的授权码更新到本地XML文件中,并执行 步骤308。
[0068] 308、结束操作。
[0069] 在本实施例中,客户端周期性的检测本地存储的与客户端使用的账号对应的授权 码是否超期,并在检测出该授权码超期后,将对应的账号发送给微博服务器,以使微博服务 器重新为该账号分配授权码并返回重新分配的授权码,客户端接收到重新分配的授权码 后,用重新分配的授权码更新本地存储的授权码,实现授权码的自动授权,这样当客户端基 于本地存储的授权码使用服务,例如抓取指定"微博用户"曾经发过的微博和关注的微博用 以汇总保存等时可以避免出现授权码超期的情况,解决了因授权码超期导致客户端使用的 服务出现错误而被停止的问题。
[0070] 图4为本发明实施例提供的一种客户端的结构示意图。如图4所示,所述客户端 包括:检测模块41、发送模块42、接收模块43和更新模块44。
[0071] 检测模块41,用于按照预设的周期,周期性的检测本地存储的与所述客户端使用 的账号对应的授权码是否超期。
[0072] 发送模块42,与检测模块41连接,用于在检测模块41检测到所述授权码超期时, 将所述账号发送给微博服务器,以使所述微博服务器重新为所述账号分配授权码并返回重 新分配的授权码。
[0073] 接收模块43,用于接收所述微博服务器发送的所述重新分配的授权码。可选的,接 收模块43与发送模块42连接,用于在发送模块42发送账号给微博服务器之后,接收所述 微博服务器发送的所述重新分配的授权码。
[0074] 更新模块44,与接收模块43连接,用于用接收模块43接收的所述重新分配的授权 码更新本地存储的授权码。
[0075] 在一可选实施方式中,检测模块41具体可用于按照预设的周期,周期性的获取本 地存储的所述账号和所述授权码,并向所述微博服务器发送所述账号和所述授权码,以使 所述微博服务器返回所述授权码的可用时间;接收所述微博服务器发送的所述授权码的可 用时间;如果所述授权码的可用时间大于〇,确定所述授权码未超期;如果所述授权码的可 用时间小于或等于〇,确定所述授权码超期。
[0076] 本实施例提供的客户端的各功能模块可用于执行图1或图3所示方法实施例的流 程,其具体工作原理不再赘述,详见方法实施例的描述。
[0077] 本实施例提供的客户端,周期性的检测本地存储的与客户端使用的账号对应的授 权码是否超期,并在检测出该授权码超期后,将对应的账号发送给微博服务器,以使微博服 务器重新为该账号分配授权码并返回重新分配的授权码,并在接收到重新分配的授权码 后,用重新分配的授权码更新本地存储的授权码,实现授权码的自动授权,这样当客户端基 于本地存储的授权码使用服务,例如抓取指定"微博用户"曾经发过的微博和关注的微博用 以汇总保存等时可以避免出现授权码超期的情况,解决了因授权码超期导致客户端使用的 服务出现错误而被停止的问题。
[0078] 图5为本发明实施例提供的一种微博服务器的结构示意图。如图5所示,所述微 博服务器包括:接收模块51、获取模块52、发送模块53和分配模块54。
[0079] 接收模块51,用于接收客户端周期性发送的所述客户端使用的账号和与所述账号 对应的授权码,其中,所述账号和所述授权码存储于所述客户端本地。
[0080] 获取模块52,与接收模块51连接,用于获取接收模块51接收的所述授权码的可用 时间。
[0081] 发送模块53,与获取模块52连接,用于将获取模块52获取的所述授权码的可用时 间发送给所述客户端,以供所述客户端判断所述授权码是否超期。
[0082] 接收模块51还用于,接收所述客户端在判断出所述授权码超期后发送的所述账 号。
[0083] 分配模块54,与接收模块51连接,用于在接收模块51接收到所述客户端在判断出 所述授权码超期后发送的所述账号后,重新为所述账号分配授权码。
[0084] 发送模块53还与分配模块54连接,还用于将所述重新分配的授权码发送给所述 客户端,以使所述客户端用所述重新分配的授权码更新本地存储的授权码。
[0085] 本实施例提供的微博服务器的各功能模块可用于执行图2或图3所示方法实施例 的流程,其具体工作原理不再赘述,详见方法实施例的描述。
[0086] 本实施例提供的微博服务器,接收客户端发送的客户端使用的账号和该账号对应 的授权码,然后将该授权码的可用时间提供给客户端,使得客户端判断该授权码是否已经 超期,并接收客户端在判断出该授权码超期后发送的账号,然后重新为该账号分配授权码 并返回重新分配的授权码,使得客户端用重新分配的授权码更新本地存储的授权码,实现 授权码的自动授权,这样当客户端基于本地存储的授权码使用服务,例如抓取指定"微博用 户"曾经发过的微博和关注的微博用以汇总保存等时可以避免出现授权码超期的情况,解 决了因授权码超期导致客户端使用的服务出现错误而被停止的问题。
[0087] 本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通 过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程 序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟 或者光盘等各种可以存储程序代码的介质。
[0088] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制; 尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其 依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征 进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技 术方案的范围。
【权利要求】
1. 一种微博账号自动授权方法,其特征在于,包括: 客户端按照预设的周期,周期性的检测本地存储的与所述客户端使用的账号对应的授 权码是否超期; 如果检测到所述授权码超期,所述客户端将所述账号发送给微博服务器,以使所述微 博服务器重新为所述账号分配授权码并返回重新分配的授权码; 所述客户端接收所述微博服务器发送的所述重新分配的授权码,并用所述重新分配的 授权码更新本地存储的授权码。
2. 根据权利要求1所述的方法,其特征在于,所述客户端按照预设的周期,周期性的检 测本地存储的与所述客户端使用的账号对应的授权码是否超期,包括: 所述客户端按照预设的周期,周期性的获取本地存储的所述账号和所述授权码,并向 所述微博服务器发送所述账号和所述授权码,以使所述微博服务器返回所述授权码的可用 时间; 所述客户端接收所述微博服务器发送的所述授权码的可用时间; 如果所述授权码的可用时间大于0,所述客户端确定所述授权码未超期;如果所述授 权码的可用时间小于或等于〇,所述客户端确定所述授权码超期。
3. -种微博账号自动授权方法,其特征在于,包括: 微博服务器接收客户端周期性发送的所述客户端使用的账号和与所述账号对应的授 权码,其中,所述账号和所述授权码存储于所述客户端本地; 所述微博服务器获取所述授权码的可用时间,并将所述授权码的可用时间发送给所述 客户端,以供所述客户端判断所述授权码是否超期; 所述微博服务器接收所述客户端在判断出所述授权码超期后发送的所述账号,并重新 为所述账号分配授权码; 所述微博服务器将所述重新分配的授权码发送给所述客户端,以使所述客户端用所述 重新分配的授权码更新本地存储的授权码。
4. 一种客户端,其特征在于,包括: 检测模块,用于按照预设的周期,周期性的检测本地存储的与所述客户端使用的账号 对应的授权码是否超期; 发送模块,用于在所述检测模块检测到所述授权码超期时,将所述账号发送给微博服 务器,以使所述微博服务器重新为所述账号分配授权码并返回重新分配的授权码; 接收模块,用于接收所述微博服务器发送的所述重新分配的授权码; 更新模块,用于用所述接收模块接收的所述重新分配的授权码更新本地存储的授权 码。
5. 根据权利要求4所述的客户端,其特征在于,所述检测模块具体用于按照预设的周 期,周期性的获取本地存储的所述账号和所述授权码,并向所述微博服务器发送所述账号 和所述授权码,以使所述微博服务器返回所述授权码的可用时间;接收所述微博服务器发 送的所述授权码的可用时间;如果所述授权码的可用时间大于〇,确定所述授权码未超期; 如果所述授权码的可用时间小于或等于0,确定所述授权码超期。
6. -种微博服务器,其特征在于,包括: 接收模块,用于接收客户端周期性发送的所述客户端使用的账号和与所述账号对应的 授权码,其中,所述账号和所述授权码存储于所述客户端本地; 获取模块,用于获取所述授权码的可用时间; 发送模块,用于将所述获取模块获取的所述授权码的可用时间发送给所述客户端,以 供所述客户端判断所述授权码是否超期; 所述接收模块还用于,接收所述客户端在判断出所述授权码超期后发送的所述账号; 分配模块,用于在所述接收模块接收到所述客户端在判断出所述授权码超期后发送的 所述账号后,重新为所述账号分配授权码; 所述发送模块还用于,将所述重新分配的授权码发送给所述客户端,以使所述客户端 用所述重新分配的授权码更新本地存储的授权码。
【文档编号】H04L29/06GK104426843SQ201310367199
【公开日】2015年3月18日 申请日期:2013年8月21日 优先权日:2013年8月21日
【发明者】巩银全 申请人:北大方正集团有限公司, 北京北大方正电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1