单点登录方法、移动终端及计算机可读存储介质与流程

文档序号:16538276发布日期:2019-01-08 20:05阅读:227来源:国知局
本发明涉及移动终端
技术领域
:,尤其涉及一种单点登录方法、移动终端及计算机可读存储介质。
背景技术
::移动终端通常配置有多个不同的应用系统,包括浏览器、原生应用、第三方应用等等,每个应用系统之间都是单独开发,均使用各自的登录功能,因此用户在多个应用系统间切换时,需要多次输入用户名和密码,这严重地影响了用户的使用体验,同时也给用户带来管理众多账号密码的压力。单点登录(singlesignon,简称sso)技术就是为了解决上述应用系统集成时存在的问题,用户在多个应用系统中,只需要登录一次就可以不需要再次输入用户名和密码访问所有相互信任的应用系统。该技术将身份验证和权限管理的工作全部交由单点登录服务完成,这样保证了用户的认证工作全部在后台实现,对用户静默,实现了系统间无缝切换,这极大地提升了用户的使用体验。现有移动终端的单点登录场景大部分都是第三方应用的交互,特别是app之间的交互,典型的场景如微信登录,现有的androidapp大都支持微信单点登录。还有部分是借助于移动终端厂商的用户中心,随着移动终端厂商的角色转变,越来越多的厂商都有自己的用户中心,开发多种多样的应用提高用户粘性,移动终端厂商通常会采用一个用户中心来单点登录其开发的所有应用(在这里将其归属于原生应用),例如:云服务、浏览器、应用商店、商城、社区等应用;其局限在于用户中心仅能登录管理与之相关的应用(同一厂商开发的应用),与第三方应用的交互还存在诸多限制,比如不同的第三方应用可能部署在不同域下,不同第三方应用使用了不同的开发语言开发实现等等。如何将用户中心与第三方应用进行交互,以实现单点登录,是目前我们需要解决的迫切问题。因此,有必要提供一种单点登录方法、移动终端及计算机可读存储介质来解决上述技术问题。技术实现要素:本发明的主要目的在于提出一种通过浏览器与第三方应用交互的单点登录方法、移动终端及计算机可读存储介质,以实现移动终端更多应用的单点登录,使得用户无需多次输入用户信息,免去不必要的复杂操作,提高用户体验。首先,为实现上述目的,本发明提供一种单点登录方法,应用于具有用户中心的移动终端,所述单点登录方法包括以下步骤:所述移动终端的浏览器采集第三方应用的单点登录请求;其中,所述单点登录请求中包括所述第三方应用的会话标识符;获取所述用户中心的客户端的访问令牌,将所述访问令牌传递给所述用户中心的服务端;所述用户中心的服务端生成所述单点登录请求的临时授权,并保存;将所述第三方应用的所述临时授权发送给所述浏览器;所述用户中心的服务端获取所述浏览器发送的单点登录校验请求;判断传送给所述浏览器的所述临时授权与所述服务端保存的临时授权是否一致,若是,则完成所述第三方应用的单点登录请求。可选地,所述“所述移动终端的浏览器采集第三方应用的单点登录请求”之后,所述“获取所述用户中心的客户端的访问令牌”之前,还包括以下步骤:判断所述用户中心的客户端的登录状态;若所述用户中心的客户端为已登录状态,则直接获取所述用户中心的客户端的访问令牌;若所述用户中心的客户端为未登录状态,则登录所述用户中心的客户端,以获取所述用户中心的客户端的访问令牌。可选地,所述临时授权的生成算法采用uuid生成,以提高单点登录的认证安全性。可选地,所述“所述用户中心的服务端生成所述单点登录请求的临时授权”的步骤还包括:设置所述临时授权的有效时长。可选地,所述“所述用户中心的服务端生成所述单点登录请求的临时授权,并保存”具体包括以下步骤:所述用户中心的服务端生成所述单点登录请求的临时授权,所述临时授权与所述会话标识符建立映射关系,并保存在所述用户中心的服务端。可选地,所述“完成所述第三方应用的单点登录请求”具体包括以下步骤:根据所述临时授权获取预设的所述第三方应用的身份登录信息;利用所述身份登录信息跳转至所述第三方应用的相应界面。可选地,所述第三方应用是指在所述移动终端上运行并能与所述移动终端的浏览器交互的任意应用或软件。可选地,所述浏览器包括所述移动终端的原生应用中的浏览器。同时,本发明还提供一种移动终端,所述移动终端包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的单点登录程序,所述单点登录程序被所述处理器执行时实现如上所述的单点登录方法的步骤。此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有单点登录程序,所述单点登录程序被执行时实现如上所述的单点登录方法的步骤。相较于现有技术,本发明所提出的单点登录方法,应用于具有用户中心的移动终端,通过浏览器采集第三方应用的单点登录请求,获取所述用户中心的客户端的访问令牌,并将所述访问令牌传递给所述用户中心的服务端,以使所述用户中心的服务端生成所述单点登录请求的临时授权,并保存,接着所述用户中心的服务端获取所述浏览器发送的单点登录校验请求;判断传送给所述浏览器的所述临时授权与所述服务端保存的临时授权是否一致,若是,则完成所述第三方应用的单点登录请求;可实现移动终端更多应用的单点登录,使得用户无需多次输入用户信息,免去不必要的复杂操作,提高用户体验。附图说明图1为实现本发明各个实施例一可选的移动终端的硬件结构示意图;图2为本发明实施例提供的一种通信网络系统架构图;图3为本发明单点登录方法第一实施例的实施流程示意图;图4为本发明单点登录方法第二实施例的实施流程示意图;图5为本发明单点登录程序第一实施例的功能模块示意图;图6为本发明单点登录程序第二实施例的功能模块示意图;图7为第三方应用提交单点登录请求的界面示意图;图8为临时授权的有效时长设置界面示意图;附图标记:本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(personaldigitalassistant,pda)、便捷式媒体播放器(portablemediaplayer,pmp)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字tv、台式计算机等固定终端。后续描述中将以移动终端为例进行说明,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。请参阅图1,其为实现本发明各个实施例的一种移动终端的硬件结构示意图,该移动终端100可以包括:rf(radiofrequency,射频)单元101、wifi模块102、音频输出单元103、a/v(音频/视频)输入单元104、传感器105、显示单元106、用户输入单元107、接口单元108、存储器109、处理器110、以及电源111等部件。本领域技术人员可以理解,图1中示出的移动终端结构并不构成对移动终端的限定,移动终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。下面结合图1对移动终端的各个部件进行具体的介绍:射频单元101可用于收发信息或通话过程中,信号的接收和发送,具体的,将基站的下行信息接收后,给处理器110处理;另外,将上行的数据发送给基站。通常,射频单元101包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元101还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于gsm(globalsystemofmobilecommunication,全球移动通讯系统)、gprs(generalpacketradioservice,通用分组无线服务)、cdma2000(codedivisionmultipleaccess2000,码分多址2000)、wcdma(widebandcodedivisionmultipleaccess,宽带码分多址)、td-scdma(timedivision-synchronouscodedivisionmultipleaccess,时分同步码分多址)、fdd-lte(frequencydivisionduplexing-longtermevolution,频分双工长期演进)和tdd-lte(timedivisionduplexing-longtermevolution,分时双工长期演进)等。wifi属于短距离无线传输技术,移动终端通过wifi模块102可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图1示出了wifi模块102,但是可以理解的是,其并不属于移动终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。音频输出单元103可以在移动终端100处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将射频单元101或wifi模块102接收的或者在存储器109中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元103还可以提供与移动终端100执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元103可以包括扬声器、蜂鸣器等等。a/v输入单元104用于接收音频或视频信号。a/v输入单元104可以包括图形处理器(graphicsprocessingunit,gpu)1041和麦克风1042,图形处理器1041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元106上。经图形处理器1041处理后的图像帧可以存储在存储器109(或其它存储介质)中或者经由射频单元101或wifi模块102进行发送。麦克风1042可以在电话通话模式、记录模式、语音识别模式等等运行模式中经由麦克风1042接收声音(音频数据),并且能够将这样的声音处理为音频数据。处理后的音频(语音)数据可以在电话通话模式的情况下转换为可经由射频单元101发送到移动通信基站的格式输出。麦克风1042可以实施各种类型的噪声消除(或抑制)算法以消除(或抑制)在接收和发送音频信号的过程中产生的噪声或者干扰。移动终端100还包括至少一种传感器105,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1061的亮度,接近传感器可在移动终端100移动到耳边时,关闭显示面板1061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。显示单元106用于显示由用户输入的信息或提供给用户的信息。显示单元106可包括显示面板1061,可以采用液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板1061。用户输入单元107可用于接收输入的数字或字符信息,以及产生与移动终端的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元107可包括触控面板1071以及其他输入设备1072。触控面板1071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1071上或在触控面板1071附近的操作),并根据预先设定的程式驱动相应的连接装置。触控面板1071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器110,并能接收处理器110发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1071。除了触控面板1071,用户输入单元107还可以包括其他输入设备1072。具体地,其他输入设备1072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种,具体此处不做限定。进一步的,触控面板1071可覆盖显示面板1061,当触控面板1071检测到在其上或附近的触摸操作后,传送给处理器110以确定触摸事件的类型,随后处理器110根据触摸事件的类型在显示面板1061上提供相应的视觉输出。虽然在图1中,触控面板1071与显示面板1061是作为两个独立的部件来实现移动终端的输入和输出功能,但是在某些实施例中,可以将触控面板1071与显示面板1061集成而实现移动终端的输入和输出功能,具体此处不做限定。接口单元108用作至少一个外部装置与移动终端100连接可以通过的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(i/o)端口、视频i/o端口、耳机端口等等。接口单元108可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端100内的一个或多个元件或者可以用于在移动终端100和外部装置之间传输数据。存储器109可用于存储软件程序以及各种数据。存储器109可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器109可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。处理器110是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器109内的软件程序和/或模块,以及调用存储在存储器109内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。处理器110可包括一个或多个处理单元;优选的,处理器110可集成应用处理器和调制解调处理器,其中,应用处理器主要处理信息系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器110中。移动终端100还可以包括给各个部件供电的电源111(比如电池),优选的,电源111可以通过电源管理系统与处理器110逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。尽管图1未示出,移动终端100还可以包括蓝牙模块等,在此不再赘述。为了便于理解本发明实施例,下面对本发明的移动终端所基于的通信网络系统进行描述。请参阅图2,图2为本发明实施例提供的一种通信网络系统架构图,该通信网络系统为通用移动通信技术的lte系统,该lte系统包括依次通讯连接的ue(userequipment,用户设备)201,e-utran(evolvedumtsterrestrialradioaccessnetwork,演进式umts陆地无线接入网)202,epc(evolvedpacketcore,演进式分组核心网)203和运营商的ip业务204。具体地,ue201可以是上述终端100,此处不再赘述。e-utran202包括enodeb2021和其它enodeb2022等。其中,enodeb2021可以通过回程(backhaul)(例如x2接口)与其它enodeb2022连接,enodeb2021连接到epc203,enodeb2021可以提供ue201到epc203的接入。epc203可以包括mme(mobilitymanagemententity,移动性管理实体)2031,hss(homesubscriberserver,归属用户定位服务器)2032,其它mme2033,sgw(servinggateway,服务网关)2034,pgw(pdngateway,分组数据网络网关)2035和pcrf(policyandchargingrulesfunction,政策和资费功能实体)2036等。其中,mme2031是处理ue201和epc203之间信令的控制节点,提供承载和连接管理。hss2032用于提供一些寄存器来管理诸如归属位置寄存器(图中未示)之类的功能,并且保存有一些有关服务特征、数据速率等用户专用的信息。所有用户数据都可以通过sgw2034进行发送,pgw2035可以提供ue201的ip地址分配以及其它功能,pcrf2036是业务数据流和ip承载资源的策略与计费控制策略决策点,它为策略与计费执行功能单元(图中未示)选择及提供可用的策略和计费控制决策。ip业务204可以包括因特网、内联网、ims(ipmultimediasubsystem,ip多媒体子系统)或其它ip业务等。虽然上述以lte系统为例进行了介绍,但本领域技术人员应当知晓,本发明不仅仅适用于lte系统,也可以适用于其他无线通信系统,例如gsm、cdma2000、wcdma、td-scdma以及未来新的网络系统等,此处不做限定。基于上述移动终端100硬件结构以及通信网络系统,提出本发明方法各个实施例。首先,本发明提出一种单点登录方法,该单点登录方法应用于如图1至图2所述具有用户中心的移动终端。如图3所示,是本发明单点登录方法第一实施例的实施流程图。在本实施例中,根据不同的需求,图3所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。所述单点登录方法包括:步骤s301,所述移动终端的浏览器采集第三方应用的单点登录请求;其中,所述单点登录请求中包括所述第三方应用的会话标识符。本发明用于解决移动终端的原生应用和第三方应用的单点登录问题;具体地,在这里需要说明的是,移动终端的原生应用是指移动终端厂商自己开发的应用,其可以通过移动终端的用户中心来实现单点登录,具体的原生应用包括:云服务器、浏览器、应用商城、社区、商城等应用。在这里以努比亚手机为例,其拥有自己的用户中心和其他的原生应用,如努比亚浏览器、努比亚云服务器、努比亚应用商店、社区等,用户只要在用户中心注册获得努比亚账号后,既可以同步登录其他的原生应用,而不需要再单独注册账号。移动终端的第三方应用在这里主要是指在所述移动终端上运行并能与所述移动终端的浏览器交互的任意应用或软件,具体地可以包括类似今日头条、人民日报等新闻应用程序,携程、途牛等出行应用程序,视频应用程序,音乐应用程序等等第三方开发的软件。这里的浏览器包括安装在移动终端并在万维网上检索或发送信息的任意类型的应用,包括ie、360、谷歌chrome、火狐浏览器(firefox)等,当然也可以是所述移动终端的原生应用,即如果为努比亚手机,这里的浏览器可以为努比亚浏览器,这是最优选择。本发明中所述移动终端的浏览器采集第三方应用的单点登录请求,具体地,当用户打开所述浏览器,进入移动网页,在浏览网页的过程中,可根据需要跳转到其他第三方应用,比如浏览新闻时,需要对新闻原文进行评论或者关注,通过点击“查看原文”等类似衔接,移动网页会直接跳转到该新闻的出处——第三方应用,而评论或关注均需要登录该第三方应用,才可以进行,这时选择评论或者关注,网页将会直接跳转到一键登录,如图7所示,用户点击该一键登录,浏览器即采集到第三方应用的单点登录请求;其中,这里的单点登录请求中包括所述第三方应用的会话标识符,这里的会话标识符(id)是为第三方应用的身份验证而准备的。根据所述单点登录请求,浏览器会调用用户中心预设的sdk接口去获取访问令牌(accesstoken),这里的sdk接口为可操作的内部接口,可接受或发送会话标识符、临时授权、访问令牌或者其他验证消息,还可以提供浏览器与用户中心的客户端和服务端之间的通信。步骤s302,获取所述用户中心的客户端的访问令牌,并将所述访问令牌传递给所述用户中心的服务端。需要说明的是:访问令牌(accesstoken)是用户在登录用户中心的客户端时,用户中心的服务端颁发给用户中心的客户端的,用作用户中心的服务端和客户端交互的凭证。所述浏览器采集到所述第三方应用的单点登录请求后,会通过javascript脚本调用用户中心的sdk接口,sdk接口连接用户中心的客户端,获取所述用户中心的访问令牌(accesstoken),随后将该访问令牌发送给用户中心的服务端,以向用户中心的服务端请求所述第三方应用的一个临时授权(code)。步骤s303,所述用户中心的服务端生成所述单点登录请求的临时授权,并保存。在本实施例中,用户中心的服务端接受到来自客户端的访问令牌(accesstoken)和第三方应用的单点登录请求,用户中心的服务端会生成一个临时授权(code),该临时授权(code)采用uuid生成,uuid是通用唯一识别码(universallyuniqueidentifier)的缩写,uuid是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的,通常平台会提供生成的api。按照开放软件基金会(osf)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片id码和许多可能的数字。uuid由以下几部分的组合:1.当前日期和时间,uuid的第一个部分与时间有关,如果在生成一个uuid之后,过几秒又生成一个uuid,则第一个部分不同,其余相同;2.时钟序列;3.全局唯一的ieee机器识别号,如果有网卡,从网卡mac地址获得,没有网卡以其他方式获得。uuid的唯一缺陷在于生成的结果串会比较长,关于uuid这个标准使用最普遍的是微软的guid(globalsuuiqueidentifiers)。uuid是由一组32位数的16进制数字所构成,标准的uuid格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx(8-4-4-4-12),其中每个x是0-9或a-f范围内的一个十六进制的数字;理论上uuid的总数为1632=2128,约等于3.4*1038,也就是若每纳秒产生1兆个uuid,要花100亿年才会将所有uuid用完。由于uuid的唯一性,对应生成的临时授权(code)也具有唯一性,保证生成临时授权仅对当前的第三方应用有效,以提高当前单点登录认证的安全性。具体地,这里还需要设置所述临时授权的有效时长;当用户点击一键登录后,页面跳转至临时授权的有效时长设置页面,如图8所示,该有效时长的设置可以选择系统定义的时长,也可以在保证授权安全的前提下,根据需要选择时长。此外,所述用户中心的服务端生成所述单点登录请求的临时授权,所述临时授权与所述会话标识符(id)建立映射关系,并保存在所述用户中心的服务端,这主要是为了提高安全性,每一个接入用户中心的第三方应用都分配一个会话标识符(id),这样方便对第三方应用对应的身份登录信息进行维护,第三方应用在请求单点登录时,携带该会话标识符,所述临时授权是根据单点登录请求中携带的所述会话标识符来生成的。假设当前有多个可以通过浏览器进行单点登录的第三方应用,分别按顺序分配id,其中一第三方应用(具体为今日头条)的id是id1,另一第三方应用(具体为携程)的id是id2,由于在请求单点登录的临时授权(code)是根据id1生成的,因此,在单点登录验证请求时,临时授权验证到相应的登录信息为今日头条的,而不是携程的,提高用户登录的安全性。步骤s304,将所述第三方应用的所述临时授权发送给所述浏览器,所述用户中心的服务端获取所述浏览器发送的单点登录校验请求。在这里,需要借助sdk接口来完成临时授权的传递,sdk接口获取到临时授权(code)后将会回调一键登录网页的javascript的login方法,该方法名可自由定义,该方法主要实现提交登录请求,当浏览器收到临时授权时,将临时授权提交到用户中心的服务端,就可以向用户中心的服务端请求单点登录校验。步骤s305,判断传送给所述浏览器的所述临时授权与所述服务端保存的临时授权是否一致。步骤s306,若是一致,则完成所述第三方应用的单点登录请求。在本实施例中,这里具体是判断传送给所述浏览器的所述临时授权与所述服务端保存的临时授权是否一致,若是一致,则根据所述临时授权获取所述第三方应用的身份登录信息,利用所述身份登录信息跳转至所述第三方应用的相应界面。需要说明的是,在收到单点登录校验请求后,如果没有发现第三方应用的用户名和密码,就需要判断传送给所述浏览器的所述临时授权与所述服务端保存的临时授权是否一致,如果该临时授权是一致的,并且有效,则允许当前用户访问第三方应用。此外,在维护第三方应用时,为了提高单点登录的安全性,这里会为每一个第三方应用建立对应的sdk接口账号,这样,在对单点登录请求进行校验时,会先判断其传递临时授权等信息的接口账号是否在预先建立的接口账号库中,若是,才能说明请求校验的第三方应用为合法的,再对临时授权进行判断;这样能够避免不合法的第三方应用窃取移动终端中的相关的数据信息和身份信息,提高单点登录的安全性。通过上述步骤s301至s306,本发明所提出的单点登录方法,应用于具有用户中心的移动终端,通过浏览器采集第三方应用的单点登录请求,获取所述用户中心的客户端的访问令牌,并将所述访问令牌传递给所述用户中心的服务端,以使所述用户中心的服务端生成所述单点登录请求的临时授权,并保存,后获取所述浏览器发送的单点登录校验请求;判断传送给所述浏览器的所述临时授权与所述服务端保存的临时授权是否一致,若是,则完成所述第三方应用的单点登录请求;可实现移动终端更多应用的单点登录,达到了用户无需输入用户名和密码就可以利用用户中心进行登录,免去不必要的复杂操作,提高用户体验。进一步地,基于上述第一实施例,提出本发明单点登录方法的第二实施例。如图4所示,是本发明单点登录方法第二实施例的实施流程图。在本实施例中,根据不同的需求,图4所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。所述单点登录方法包括:步骤s401,所述移动终端的浏览器采集第三方应用的单点登录请求。步骤s402,检测所述用户中心的客户端的登录状态。本发明中,在第三方应用通过浏览器请求单点登录时,需要确定用户中心为已登录状态,若用户中心的客户端为未登录状态,则用户中心客户端与服务端还未完成交互,用户中心的访问令牌还未生成。步骤s403,若所述用户中心的客户端为未登录状态,登录所述用户中心的客户端,获取所述用户中心的客户端的访问令牌,并将所述访问令牌传递给所述用户中心的服务端。实施例中,若所述用户中心的客户端为未登录状态,需要采集所述用户中心的登录信息,登录用户中心的客户端,用户中心的客户端与用户中心的服务端交互,以获取所述用户中心的客户端的访问令牌。用户首次登录用户中心时,通过输入登录信息,包括用户名和密码,登录用户中心,当登录信息被验证通过,即用户的身份被验证通过,用户中心的服务端会颁发带有访问令牌认证数据,并保存该访问令牌,这样用户在需要访问第三方应用时,则可将该访问令牌携带在单点登录请求中,从而保证当前用户的合法性,确保用户信息和第三方应用的数据信息的安全。步骤s404,若所述用户中心的客户端为已登录状态,获取所述用户中心的客户端的访问令牌,并将所述访问令牌传递给所述用户中心的服务端。步骤s405,所述用户中心的服务端生成所述单点登录请求的临时授权,并保存。步骤s406,将所述第三方应用的所述临时授权发送给所述浏览器,所述用户中心的服务端获取所述浏览器发送的单点登录校验请求。步骤s407,判断传送给所述浏览器的所述临时授权与所述服务端保存的临时授权是否一致.步骤s408,若是,则完成所述第三方应用的单点登录请求。本实施例中,通过合法的访问令牌的传递,能保证当前用户对应的单点登录请求的合法性,保护移动终端数据的安全性。通过上述步骤s401至s408,本发明所提出的单点登录方法,应用于具有用户中心的移动终端,通过浏览器采集第三方应用的单点登录请求,判断所述用户中心的客户端的登录状态,当其为未登录状态时,登录用户中心,间接获取所述用户中心的客户端的访问令牌;当其为已登录状态时,直接获取所述用户中心的客户端的访问令牌,并将所述访问令牌传递给所述用户中心的服务端,以使所述用户中心的服务端生成所述单点登录请求的临时授权,并保存,后获取所述浏览器发送的单点登录校验请求;判断传送给所述浏览器的所述临时授权与所述服务端保存的临时授权是否一致,若是,则完成所述第三方应用的单点登录请求;可实现移动终端更多应用的单点登录,达到了用户无需输入用户名和密码就可以利用用户中心进行登录,免去不必要的复杂操作,提高用户体验,并进一步提高了单点登录的安全性。同时,本发明还提出一种移动终端,所述移动终端包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的单点登录程序500。如图5所示,是本发明单点登录程序500第一实施例的功能模块示意图。在本实施例中,所述单点登录程序500可以被分割成一个或多个模块,例如,在图5中,所述单点登录程序500可以被分割成请求采集模块501、获取模块502、授权生成模块503、请求校验模块504、第一判断模块505及第一登录模块506。本发明所称的模块是指一种能够完成特定功能的一系列获取机程序指令段,比获取机程序更适合于描述软件在所述移动终端中的执行过程。以下将就上述各功能模块501-506的具体功能进行详细描述。其中:所述请求采集模块501,用于所述移动终端的浏览器采集第三方应用的单点登录请求;其中,所述单点登录请求中包括所述第三方应用的会话标识符。本发明用于解决移动终端的原生应用和第三方应用的单点登录问题;具体地,在这里需要说明的是,移动终端的原生应用是指移动终端厂商自己开发的应用,其可以通过移动终端的用户中心来实现单点登录,具体的原生应用包括:云服务器、浏览器、应用商城、社区、商城等应用。在这里以努比亚手机为例,其拥有自己的用户中心和其他的原生应用,如努比亚浏览器、努比亚云服务器、努比亚应用商店、社区等,用户只要在用户中心注册获得努比亚账号后,既可以同步登录其他的原生应用,而不需要再单独注册账号。移动终端的第三方应用在这里主要是指在所述移动终端上运行并能与所述移动终端的浏览器交互的任意应用或软件,具体地可以包括类似今日头条、人民日报等新闻应用程序,携程、途牛等出行应用程序,视频应用程序,音乐应用程序等等第三方开发的软件。这里的浏览器包括安装在移动终端并在万维网上检索或发送信息的任意类型的应用,包括ie、360、谷歌chrome、火狐浏览器(firefox)等,当然也可以是所述移动终端的原生应用,即如果为努比亚手机,这里的浏览器可以为努比亚浏览器,这是最优选择。本发明中所述移动终端的浏览器采集第三方应用的单点登录请求,具体地,当用户打开所述浏览器,进入移动网页,在浏览网页的过程中,可根据需要跳转到其他第三方应用,比如浏览新闻时,需要对新闻原文进行评论或者关注,通过点击“查看原文”等类似衔接,移动网页会直接跳转到该新闻的出处——第三方应用,而评论或关注均需要登录该第三方应用,才可以进行,这时选择评论或者关注,网页将会直接跳转到一键登录,如图7所示,用户点击该一键登录,浏览器即采集到第三方应用的单点登录请求;其中,这里的单点登录请求中包括所述第三方应用的会话标识符,这里的会话标识符(id)是为第三方应用的身份验证而准备的。根据所述单点登录请求,浏览器会调用用户中心预设的sdk接口去获取访问令牌(accesstoken),这里的sdk接口为可操作的内部接口,可接受或发送会话标识符、临时授权、访问令牌或者其他验证消息,还可以提供浏览器与用户中心的客户端和服务端之间的通信。所述获取模块502,用于获取所述用户中心的客户端的访问令牌,并将所述访问令牌传递给所述用户中心的服务端。需要说明的是:访问令牌(accesstoken)是用户在登录用户中心的客户端时,用户中心的服务端颁发给用户中心的客户端的,用作用户中心的服务端和客户端交互的凭证。所述浏览器采集到所述第三方应用的单点登录请求后,会通过javascript脚本调用用户中心的sdk接口,sdk接口连接用户中心的客户端,获取所述用户中心的访问令牌(accesstoken),随后将该访问令牌发送给用户中心的服务端,以向用户中心的服务端请求所述第三方应用的一个临时授权(code)。所述授权生成模块503,用于所述用户中心的服务端生成所述单点登录请求的临时授权,并保存。在本实施例中,用户中心的服务端接受到来自客户端的访问令牌(accesstoken)和第三方应用的单点登录请求,用户中心的服务端会生成一个临时授权(code),该临时授权(code)采用uuid生成,uuid是通用唯一识别码(universallyuniqueidentifier)的缩写,uuid是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的,通常平台会提供生成的api。按照开放软件基金会(osf)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片id码和许多可能的数字。uuid由以下几部分的组合:1.当前日期和时间,uuid的第一个部分与时间有关,如果在生成一个uuid之后,过几秒又生成一个uuid,则第一个部分不同,其余相同;2.时钟序列;3.全局唯一的ieee机器识别号,如果有网卡,从网卡mac地址获得,没有网卡以其他方式获得。uuid的唯一缺陷在于生成的结果串会比较长,关于uuid这个标准使用最普遍的是微软的guid(globalsuuiqueidentifiers)。uuid是由一组32位数的16进制数字所构成,标准的uuid格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx(8-4-4-4-12),其中每个x是0-9或a-f范围内的一个十六进制的数字;理论上uuid的总数为1632=2128,约等于3.4*1038,也就是若每纳秒产生1兆个uuid,要花100亿年才会将所有uuid用完。由于uuid的唯一性,对应生成的临时授权(code)也具有唯一性,保证生成临时授权仅对当前的第三方应用有效,以提高当前单点登录认证的安全性。具体地,这里还需要设置所述临时授权的有效时长;当用户点击一键登录后,页面跳转至临时授权的有效时长设置页面,如图8所示,该有效时长的设置可以选择系统定义的时长,也可以在保证授权安全的前提下,根据需要选择时长。此外,所述用户中心的服务端生成所述单点登录请求的临时授权,所述临时授权与所述会话标识符(id)建立映射关系,并保存在所述用户中心的服务端,这主要是为了提高安全性,每一个接入用户中心的第三方应用都分配一个会话标识符(id),这样方便对第三方应用对应的身份登录信息进行维护,第三方应用在请求单点登录时,携带该会话标识符,所述临时授权是根据单点登录请求中携带的所述会话标识符来生成的。假设当前有多个可以通过浏览器进行单点登录的第三方应用,分别按顺序分配id,其中一第三方应用(具体为今日头条)的id是id1,另一第三方应用(具体为携程)的id是id2,由于在请求单点登录的临时授权(code)是根据id1生成的,因此,在单点登录验证请求时,临时授权验证到相应的登录信息为今日头条的,而不是携程的,提高用户登录的安全性。所述请求校验模块504,用于将所述第三方应用的所述临时授权发送给所述浏览器,所述用户中心的服务端获取所述浏览器发送的单点登录校验请求。在这里,需要借助sdk接口来完成临时授权的传递,sdk接口获取到临时授权(code)后将会回调一键登录网页的javascript的login方法,该方法名可自由定义,该方法主要实现提交登录请求,当浏览器收到临时授权时,将临时授权提交到用户中心的服务端,就可以向用户中心的服务端请求单点登录校验。所述第一判断模块505,用于判断传送给所述浏览器的所述临时授权与所述服务端保存的临时授权是否一致。所述第一登录模块506,若传送给所述浏览器的所述临时授权与所述服务端保存的临时授权是一致,用于完成所述第三方应用的单点登录请求。在本实施例中,这里具体是判断传送给所述浏览器的所述临时授权与所述服务端保存的临时授权是否一致,若是,则根据所述临时授权获取所述第三方应用的身份登录信息,利用所述身份登录信息跳转至所述第三方应用的相应界面。需要说明的是,在收到单点登录校验请求后,如果没有发现第三方应用的用户名和密码,就需要判断传送给所述浏览器的所述临时授权与所述服务端保存的临时授权是否一致,如果该临时授权是一致的,并且有效,则允许当前用户访问第三方应用。此外,在维护第三方应用时,为了提高单点登录的安全性,这里会为每一个第三方应用建立对应的sdk接口账号,这样,在对单点登录请求进行校验时,会先判断其传递临时授权等信息的接口账号是否在预先建立的接口账号库中,若是,才能说明请求校验的第三方应用为合法的,再对临时授权进行判断;这样能够避免不合法的第三方应用窃取移动终端中的相关的数据信息和身份信息,提高单点登录的安全性。通过上述模块501至506,本发明具有用户中心的移动终端,其单点登录程序通过浏览器采集第三方应用的单点登录请求,获取所述用户中心的客户端的访问令牌,并将所述访问令牌传递给所述用户中心的服务端,以使所述用户中心的服务端生成所述单点登录请求的临时授权,并保存,后获取所述浏览器发送的单点登录校验请求;判断传送给所述浏览器的所述临时授权与所述服务端保存的临时授权是否一致,若是,则完成所述第三方应用的单点登录请求;可实现移动终端更多应用的单点登录,达到了用户无需输入用户名和密码就可以利用用户中心进行登录,免去不必要的复杂操作,提高用户体验。进一步地,基于上述单点登录程序500的第一实施例,提出本发明单点登录程序500的第二实施例。请参考图6,图6为单点登录程序500第二实施例的功能模块示意图,与第一实施例相比,本实施例中,单点登录程序500还包括第二判断模块506、第二登录模块507。本实施例中,各功能模块的说明如下:所述请求采集模块501,所述移动终端的浏览器采集第三方应用的单点登录请求。所述第二判断模块507,用于判断所述用户中心的客户端的登录状态。本发明中,在第三方应用通过浏览器请求单点登录时,需要确定用户中心为已登录状态,若用户中心的客户端为未登录状态,则用户中心客户端与服务端还未完成交互,用户中心的访问令牌还未生成。所述第二登录模块508,若所述用户中心的客户端为未登录状态,则用于采集所述用户中心的登录信息,完成登录所述用户中心的客户端,以获取所述用户中心的客户端的访问令牌。实施例中,采集所述用户中心的登录信息,与用户中心的服务端交互,生成访问令牌,同时登录用户中心的客户端。用户首次登录用户中心时,通过输入登录信息,包括用户名和密码,登录用户中心,当登录信息被验证通过,即用户的身份被验证通过,用户中心的服务端会颁发带有访问令牌认证数据,并保存该访问令牌,这样用户在需要访问第三方应用时,则可将该访问令牌携带在单点登录请求中,从而保证当前用户的合法性,确保用户信息和第三方应用的数据信息的安全。所述获取模块502,若所述用户中心的客户端为已登录状态,获取所述用户中心的客户端的访问令牌,并将所述访问令牌传递给所述用户中心的服务端。所述授权生成模块503,所述用户中心的服务端生成所述单点登录请求的临时授权,并保存。所述请求校验模块504,将所述第三方应用的所述临时授权发送给所述浏览器,所述用户中心的服务端获取所述浏览器发送的单点登录校验请求。所述第一判断模块505,判断传送给所述浏览器的所述临时授权与所述服务端保存的临时授权是否一致。所述第一登录模块506,若第一判断模块505判断为是,则完成所述第三方应用的单点登录请求。本实施例中,通过合法的访问令牌的传递,能保证当前用户对应的单点登录请求的合法性,保护移动终端数据的安全性。通过上述模块501至508,本发明所提出移动终端的单点登录程序,通过浏览器采集第三方应用的单点登录请求,判断所述用户中心的客户端的登录状态,当其为未登录状态时,登录用户中心,间接获取所述用户中心的客户端的访问令牌;当其为已登录状态时,直接获取所述用户中心的客户端的访问令牌,并将所述访问令牌传递给所述用户中心的服务端,以使所述用户中心的服务端生成所述单点登录请求的临时授权,并保存,后获取所述浏览器发送的单点登录校验请求;判断传送给所述浏览器的所述临时授权与所述服务端保存的临时授权是否一致,若是,则完成所述第三方应用的单点登录请求;可实现移动终端更多应用的单点登录,达到了用户无需输入用户名和密码就可以利用用户中心进行登录,免去不必要的复杂操作,提高用户体验,并进一步提高了单点登录的安全性。此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有单点登录程序,所述单点登录程序被执行时实现图3至图4所述的单点登录方法的步骤。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,定位服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
:,均同理包括在本发明的专利保护范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1