CN117014183A - 一种基于Token的单一设备登录控制方法及系统 - Google Patents
一种基于Token的单一设备登录控制方法及系统 Download PDFInfo
- Publication number
- CN117014183A CN117014183A CN202310784871.6A CN202310784871A CN117014183A CN 117014183 A CN117014183 A CN 117014183A CN 202310784871 A CN202310784871 A CN 202310784871A CN 117014183 A CN117014183 A CN 117014183A
- Authority
- CN
- China
- Prior art keywords
- token
- login
- information
- user account
- user
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000004458 analytical method Methods 0.000 claims description 10
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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
- 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/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
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)
- Storage Device Security (AREA)
Abstract
本发明涉及一种基于Token的单一设备登录控制方法及系统,通过使用用户账号信息和本次登录设备标识生成新的Token,获取上一次用户账号相绑定的设备信息,判断本次登录设备与上一次登录设备是否为同一个设备,若不是,则删除原Token令牌信息,并控制上一次登录的设备上用户账号下线,以实现单一设备的用户账号登录,通过控制用户账号仅能登录单一设备的方式提高用户账号的安全性,为用户信息安全提供更高的保障。
Description
技术领域
本发明涉及计算机网络技术领域,具体涉及一种基于Token的单一设备登录控制方法及系统。
背景技术
随着各种不同功能智能设备的开发及各种不同应用程序的使用,为了保证各个智能设备功能的正常使用或者应用程序中数据传输的顺利完成,一般会采用用户端和服务端进行数据交互,而数据交互会涉及到服务端对用户端进行用户信息的认证。
用户在使用授权账号登录终端系统或者登录应用程序时,通常仅仅需要对登录账号进行认证,当登录账号为授权账号后,则登录成功,如图1所示,用户还可以通过账号同时登录多台设备,而仅认证登录账号或者支持多设备登录等均可能存在较大的安全风险。
因此,现有技术有待改进。
发明内容
本发明的目的之一在于提供一种基于Token的单一设备登录控制方法及系统,以解决现有技术中用户登录终端设备或者应用程序时账号登录认证安全性低的问题。
为了实现上述目的,本发明采用的技术方案如下:
本申请第一方面实施例提供了一种基于Token的单一设备登录控制方法,包括以下步骤:接收用户输入的用户账号信息和获取本次登录设备的设备标识信息,基于所述用户账号信息和设备标识信息生成用户本次登录对应的第一Token令牌;获取上一次所述用户账号信息登录时生成的第二Token令牌;从所述第二Token令牌中解析得到所述用户账号信息上一次登录时的设备标识信息;将本次登录的设备标识信息与解析得到的上一次登录时的设备标识信息进行比对,判断本次登录的设备与上一次登录的设备是否为同一设备;若否,则删除第二Token令牌,并控制用户账号从所述第二Token令牌对应的设备下线,以及,将所述第一Token令牌发送至客户端,以完成本次登录。
根据上述技术手段,本申请实施例可以基于保存的Token令牌获取其中包含的上一次登录绑定的设备信息,基于获取的设备信息判断出同一用户本次登录与上一次登录的设备是否相同,若相同,则基于相同用户账号和相同的设备判定本次用户符合登录条件,具有较高的安全性和可扩展性。
可选的,本申请的一个实施例中,所述基于所述用户账号信息和设备标识信息生成用户本次登录对应的第一Token令牌的步骤包括:
获取预设Token令牌的过期时长;
使用用户账号信息、设备标识信息、所述过期时长和随机数中的一种或多种构造用户信息数据;
对所述用户信息数据进行加密,得到加密后的信息加密字符串;
将所述信息加密字符串进行签名,得到签名数据;
将签名数据和加密字符串进行拼接,并对拼接得到数据进行编码,得到第一Token令牌。
根据上述技术手段,本申请实施例可以对接收到的信息进行加密,根据加密后的信息生成新的Token令牌,将该新的Token令牌作为唯一的登录认证信息,提供更高安全性的登录认证方式。
可选的,本申请的一个实施例中,所述获取上一次所述用户账号信息登录时生成的第二Token令牌的步骤,之后还包括:
判断所述第二Token令牌是否已经注销,或者根据预设Token令牌的过期时长,判断第二Token令牌是否已经过期;
若所述第二Token令牌已经注销或者已经过期,则直接存储第一Token令牌,并建立所述第一Token令牌与本次登录设备的设备标识信息之间的绑定关系。
根据上述技术手段,本申请实施例还对获取到的域用户账号相关联的Token令牌是否已经过期进行判断,若已经过期或者已经注销,则说明该用户账号在之前的设备中也无法登录成功,因此本次不必控制之前设备上的账号下线,本次可以直接使用该用户账号登录。
可选的,本申请的一个实施例中,所述基于所述用户账号信息和设备标识信息生成用户本次登录对应的第一Token令牌的步骤之后,还包括:
判断存储空间内是否保存有与所述用户账号信息相绑定的Token令牌;
若存储空间内未保存有与所述用户账号信息相绑定的Token令牌,则直接存储第一Token令牌,并建立所述第一Token令牌与本次登录设备的设备标识信息之间的绑定关系。
根据上述技术手段,若系统的存储空间中不存在与用户账号相绑定的Token令牌,则说明该用户账号为首次登录,因此不存在设备绑定关系,本次可以存储新生成的第一Token,并将该Token令牌发送至客户端。
可选的,本申请的一个实施例中,所述方法还包括:
接收用户查询个人设置信息的指令,对存储的与所述用户账号信息相对应的各个设备标识信息进行显示;
以及,接收用户对个人设置信息的编辑指令,对所述编辑指令选定的一个或多个设备标识信息进行编辑;其中,所述编辑指令包括:删除、修改或者添加设备标识信息。
根据上述技术手段,本实施例所提供的方法还可以实现用户对个人设置信息的编辑,用户可以删除已经登录过的设备信息,以降低用户信息泄露的风险,同时又能满足用户对账号信息的灵活管理,提高了用户账号信息的安全性的同时又满足了用户对账号进行灵活管理的需求。
可选的,本申请的一个实施例中,对所述编辑指令选定的一个或多个设备标识信息进行编辑的步骤之后,还包括:
监控是否接收到用户输入的重新登录请求信息;
若接收到则获取与本次登录用户相对应的Token令牌,从所述Token令牌中解析得到用户账号信息;
获取存储空间内与所述用户账号信息相对应的设备标识信息,并判断是否需要重新登录;
若不需要重新登录,则删除与所述用户账号信息相绑定的Token令牌,以及删除本次重新登录后生成的Token令牌。
根据上述技术手段,用户可以在删除了个人设置里面的登录设备信息以后,选择快速重新登录,在保证了账号安全的前提下,提高了信息输入的效率。
可选的,本申请的一个实施例中,所述从所述第二Token令牌中解析得到所述用户账号信息上一次登录时的设备标识信息的步骤,包括:根据预设解码算法对所述第二Token令牌进行解码,得到解析出的解码数据信息;对解码数据信息按照预设解密算法进行解密,得到解密后的字符串;根据字符串中的信息确定出所述用户账号信息上一次登录时的设备标识信息。
根据上述技术手段,用户可以根据上一次保存的Token令牌中解析得到该用户账号上一次登录的设备信息,基于解析得到的设备信息进行是否为同一设备的判断,系统不用直接保存用户账号信息和历史设备使用信息,仅仅保存上一次登录设备的Token令牌,基于Token令牌实现账号认证,从而得到更加安全的登录方式。
本申请第二方面实施例公开了一种基于Token的单一设备登录控制系统,所述系统包括:
信息登录模块,用于接收用户输入的用户账号信息和获取本次登录设备的设备标识信息,基于所述用户账号信息和设备标识信息生成用户本次登录对应的第一Token令牌;
信息查找模块,用于获取上一次所述用户账号信息登录时生成的第二Token令牌;从所述第二Token令牌中解析得到所述用户账号信息上一次登录时的设备标识信息;
信息核对模块,用于将本次登录的设备标识信息与解析得到的上一次登录时的设备标识信息进行比对,判断本次登录的设备与上一次登录的设备是否为同一设备;
登录控制模块,用于若本次登录的设备与上一次登录的设备不是同一设备,则删除第二Token令牌,并控制用户账号从所述第二Token令牌对应的设备下线,以完成本次登录。
可选的,所述信息登录模块包括:
信息加密单元,用于获取预设Token令牌的过期时长;使用用户账号信息、设备标识信息、所述过期时长和随机数中的一种或多种构造用户信息数据;对所述用户信息数据进行加密,得到加密后的信息加密字符串;将所述信息加密字符串进行签名,得到签名数据;将签名数据和加密字符串进行拼接,并对拼接得到数据进行编码,得到第一Token令牌。
可选的,所述信息查找模块:还用于判断所述第二Token令牌是否已经注销,或者根据预设Token令牌的过期时长,判断第二Token令牌是否已经过期;若所述第二Token令牌已经注销或者已经过期,则直接存储第一Token令牌,并建立所述第一Token令牌与本次登录设备的设备标识信息之间的绑定关系。
可选的,所述信息查找模块:还用于判断存储空间内是否保存有与所述用户账号信息相绑定的Token令牌;若存储空间内未保存有与所述用户账号信息相绑定的Token令牌,则直接存储第一Token令牌,并建立所述第一Token令牌与本次登录设备的设备标识信息之间的绑定关系。
可选的,所述单一设备登录控制系统还包括:
个人设置编辑模块,用于接收用户查询个人设置信息的指令,对存储的与所述用户账号信息相对应的各个设备标识信息进行显示;以及,接收用户对个人设置信息的编辑指令,对所述编辑指令选定的一个或多个设备标识信息进行编辑;其中,所述编辑指令包括:删除、修改或者添加设备标识信息。
可选的,所述个人设置编辑模块,还用于:监控是否接收到用户输入的重新登录请求信息;
若接收到则获取与本次登录用户相对应的Token令牌,从所述Token令牌中解析得到用户账号信息获取存储空间内与所述用户账号信息相对应的设备标识信息,并判断是否需要重新登录;若不需要重新登录,则删除与所述用户账号信息相绑定的Token令牌,以及删除本次重新登录后生成的Token令牌。
可选的,所述信息核对模块包括:
信息解码单元,用于根据预设解码算法对所述第二Token令牌进行解码,得到解析出的解码数据信息;对解码数据信息按照预设解密算法进行解密,得到解密后的字符串;根据字符串中的信息确定出所述用户账号信息上一次登录时的设备标识信息。本申请第三方面实施例公开了一种终端设备,所述终端设备包括有存储器和一个或者一个以上处理器;所述存储器存储有一个或者一个以上的程序;所述程序包含用于执行所述的基于Token的单一设备登录控制方法的指令;所述处理器用于执行所述程序。
本申请第四方面实施例还公开了一种计算机可读存储介质,其中,所述计算机可读存储介质存储有一个或多个程序,所述一个或多个程序可被一个或者多个处理器执行,以实现所述的基于Token的单一设备登录控制方法中的步骤。
本发明的有益效果:
本实施例提供的方法及系统通过使用用户账号信息和本次登录设备标识生成新的Token,获取上一次用户账号相绑定的设备信息,判断本次登录设备与上一次登录设备是否为同一个设备,若不是,则删除原Token令牌信息,并控制上一次登录的设备上用户账号下线,以实现单一设备的用户账号登录,通过控制用户账号仅能登录单一设备的方式提高用户账号的安全性,为用户信息安全提供更高的保障。
附图说明
图1为现有技术中单一设备登录时的步骤流程图;
图2是本发明实施例中基于Token的单一设备登录控制方法的步骤流程图;
图3为本发明实施例中基于Token的单一设备登录控制方法应用实施例的步骤流程图;
图4为本发明实施例中用户个人设置删除设备信息的流程图;
图5为本发明实施例所述提供系统的原理结构框图;
图6为本发明实施例所述终端设备的结构原理框图。
具体实施方式
以下将参照附图和优选实施例来说明本发明的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
随着各种不同公开的应用程序或系统的开发,现在越来越多的信息可以应用程序或操作系统来实现,因此用户账号的安全问题也越来越受关注。控制用户账号仅能在单一设备上的登录是其中一种方式。
现有技术中的,单一设备控制登录的方式通常采用将用户登录信息和验证信息相关联,通过用户账号信息获取用户登录信息,通过用户登录信息判断是否上一次登录设备是否为本次设备,而每次查找判断操作均需要调用用户账号,因此需要将用户账号存储,而用户账号存储在系统中会带来信息泄露风险,因此现有技术中的上述方法安全性不能满足需求。
为了克服上述问题,本实施例提供了一种基于Token的单一设备登录控制方法及系统,通过采用Token鉴权的方式,实现服务端不需要存储用户账号信息和与用户绑定的设备信息,将用户账号信息和绑定设备信息加密保存到Token中,通过对Token中包含的信息进行解析,以实现用户账号单一设备登录,提高了账号登录的安全性。
下面结合附图,对本申请提供的实施例做进一步详细的说明。
本申请第一方面实施例提供了一种基于Token的单一设备登录控制方法,如图2所示,应用于服务端,包括以下步骤:
步骤S1、接收的用户账号信息和本次登录设备的设备标识信息,基于所述用户账号信息和设备标识信息生成用户本次登录对应的第一Token令牌。
当服务端接收到用户输入的用户账号信息后,则同时获取输入该用户账号信息所对应的设备标识信息。该设备标识信息可以是用户输入的,也可以是当服务端接收到用户输入的用户账号信息后基于通信连接关系从客户端获取到的设备标识信息。
具体的,设备标识信息为对该智能设备进行唯一标识的标识码,在一种实施例中,设备标识信息为设备ID,也即是设备标识码。每个设备均对应一个设备标识码,设备标识码与各个设备一一对应,且每个设备仅对应唯一个设备标识码。
本步骤中,当客户端接收到用户输入的用户账号信息后,将用户账号信息发送至服务端,而服务端接收到用户账号信息后,获取本次登录的设备标识码,并根据所述用户账号信息和设备标识码生成第一Token令牌。
在一种实施方式中,为了提供信息安全,基于用户账号信息和设备标识信息生成第一Token令牌的步骤包括:
获取预设Token令牌的过期时长;
使用用户账号信息、设备标识信息、所述过期时长和随机数中的一种或多种构造用户信息数据;
对所述用户信息数据进行加密,得到加密后的信息加密字符串;
将所述信息加密字符串进行签名,得到签名数据;
将签名数据和加密字符串进行拼接,并对拼接得到数据进行编码,得到第一Token令牌。
为了提高账号认证时的安全性,本步骤中,首先对生成的Token 令牌的有效期进行设置,当存储的Token令牌的过期,则该Token令牌无法再次使用,需要用户重新登录得到新的Token令牌。而新生成的Token令牌由于是基于用户本次输出的用户账号信息、本次登录的设备标识信息和本次随机得到的随机数以及设置的过期时长等信息,才得到,因此本次每次新生成的Token均具有唯一性,不会和之前生成的Token令牌重复。当获取到用户账号信息、设备标识信息、所述过期时长和随机数后,则可以根据上述信息构造出一个用户信息数据。可以想到的是,在具体应用时,可以使用上述四种信息中的一种或多种生成Token令牌,本实施例中,为了提高信息安全性,同时使用上述四种信息。
对构造出的用户信息数据进行加密处理,得到加密后的信息加密字符串,由于对用户信息数据进行加密,从而提高了信息安全性。再依次对加密后得到的信息加密字符串进行签名和将签名与加密字符串进行拼接,对拼接得到的数据信息进行编码,最终生成本实施例所要得到Token令牌。
由于本步骤中对接收到的用户账号信息和设备标识信息等信息进行加密,得到加密数据,再根据加密后的信息生成新的Token令牌,将该新的Token令牌作为唯一的登录认证信息,因此增加了信息解析的难度,提高了信息安全,保障了用户的信息安全。
步骤S2、获取上一次所述用户账号信息登录时生成的第二Token令牌;从所述第二Token令牌中解析得到所述用户账号信息上一次登录时的设备标识信息。
当服务端获取到用户账号信息后,则通过用户账号信息获取该用户账号上一次登录时的Token令牌,本步骤中将上次登录时生成的Token令牌称为第二Token令牌。对该第二Token令牌进行解析,得到该第二Token令牌对应的设备标识信息。解析出的设备标识信息为该用户账号上一次的登录时的设备信息。
具体的,由于第二Token令牌是基于用户账号信息、上一次登录的设备标识信息、随机数和过期时长等信息依次经过加密、签名、编码等处理得到的,因此基于第二Token令牌得到其中含有的设备标识信息,则需要对其解码、解密等步骤,才能得到。
因此本步骤中包括:根据预设解码算法对所述第二Token令牌进行解码,得到解析出的解码数据信息;对解码数据信息按照预设解密算法进行解密,得到解密后的字符串;根据字符串中的信息确定出所述用户账号信息上一次登录时的设备标识信息。
由于用户可以根据上一次保存的Token令牌中解析得到该用户账号上一次登录的设备信息,基于解析得到的设备信息判断是否为同一设备,因此系统不用直接保存用户账号信息和历史设备使用信息,仅仅保存上一次登录设备的Token令牌,基于Token令牌实现账号认证,从而实现更加安全的登录方式。
步骤S3、将本次登录的设备标识信息与解析得到的上一次登录时的设备标识信息进行比对,判断本次登录的设备与上一次登录的设备是否为同一设备。
将本次登录的设备信息与上一次登录时的设备信息相比对,便可以得到两次登录是否为同一个设备。具体的,将两组标识设备信息的设备ID进行比对,判断是否相同,若相同,则说明为同一个设备,若数字不同,则说明不是同一个设备。
步骤S4、若本次登录的设备与上一次登录的设备为同一设备,则删除第二Token令牌,并控制用户账号从所述第二Token令牌对应的设备下线,以及,将所述第一Token令牌发送至客户端,以完成本次登录。
当上述步骤判断出本次登录的设备与上一次登录的设备不是同一设备时,则将存储的第二Token令牌删除,并控制前一次登录设备上的用户账号下线,以实现该用户账号仅在单一设备上成功登录,避免了多设备登录时信息泄露的风险。
本申请实施例所提供的方法可以实现基于保存的Token令牌获取其中包含的上一次登录绑定的设备信息,基于获取的设备信息判断出同一用户本次登录与上一次登录的设备是否相同,若相同,则基于相同用户账号和相同的设备判定本次用户符合登录条件,具有较高的安全性和可扩展性。
具体的,在本实施例所提供的方式中,还可能会出现第二Token令牌过期或者第二Token令牌已经被注销的情况,也即可以获取到用户账号对应的第二Token令牌,但是该令牌本次已经失效。因此本步骤中还包括:判断所述第二Token令牌是否已经注销,或者根据预设Token令牌的过期时长,判断第二Token令牌是否已经过期;若所述第二Token令牌已经注销或者已经过期,则直接存储第一Token令牌,并建立所述第一Token令牌与本次登录设备的设备标识信息之间的绑定关系。
由于获取到的域用户账号相关联的Token令牌已经过期或者已经注销,则说明该用户账号在之前的设备中也无法登录成功,因此本次不必控制之前设备上的账号下线,也不需要对其进行解析,得到该Token令牌对应的设备信息,本次登录可以直接使用该用户账号登录。
另外,基于所述用户账号信息和设备标识信息生成用户本次登录对应的第一Token令牌的步骤之后,还包括:
判断存储空间内是否保存有与所述用户账号信息相绑定的Token令牌;
若存储空间内未保存有与所述用户账号信息相绑定的Token令牌,则直接存储第一Token令牌,并建立所述第一Token令牌与本次登录设备的设备标识信息之间的绑定关系。
由于系统的存储空间中不存在与用户账号相绑定的Token令牌,则说明该用户账号为首次登录,因此不存在设备绑定关系,本次同样可以存储新生成的第一Token,并将该Token令牌发送至客户端,在客户端完成登录。
为了实现用户可以灵活的对其账号进行管理,所述方法还包括:
接收用户查询个人设置信息的指令,对存储的与所述用户账号信息相对应的各个设备标识信息进行显示;
以及,接收用户对个人设置信息的编辑指令,对所述编辑指令选定的一个或多个设备标识信息进行编辑;其中,所述编辑指令包括:删除、修改或者添加设备标识信息。
用户可以在客户端输入个人设置信息的查询指令,对内存中保存的与用户账号信息相对应的设备标识信息进行查询,并根据需要对查询到的内容进行编辑。由于用户可以实现用户对其个人设置信息的编辑,用户可以删除已经登录过的设备信息,从而降低了用户信息泄露的风险,同时又能满足用户对账号信息的灵活管理,提高了用户账号信息的安全性的同时又满足了用户对账号进行灵活管理的需求。
具体的,对所述编辑指令选定的一个或多个设备标识信息进行编辑的步骤之后,还包括:
监控是否接收到用户输入的重新登录请求信息;
若接收到则获取与本次登录用户相对应的Token令牌,从所述Token令牌中解析得到用户账号信息;
获取存储空间内与所述用户账号信息相对应的设备标识信息,并判断是否需要重新登录;
若不需要重新登录,则删除与所述用户账号信息相绑定的Token令牌,以及删除本次重新登录后生成的Token令牌。
当用户对其历史登录的设备信息进行删除以后,若在本次Token令牌的有效期限内,若要重新登录,则在账号重新登录后将重新登录后生成的Token令牌删除,在保证了账号安全的前提下,提高了信息输入的效率。
下面结合图3和图4所示具体应用实施例,对本发明所述提供的方法做进一步的解释。
如图3所示,当用户张三首次使用其用户账号和设备ID向CAS(CentralAuthentication Service)系统请求登录时,CAS系统将基于用户ID和设备ID生成一个唯一的token。使用用户唯一 ID、设备硬件信息、随机数和过期时间等信息,构造一个用户信息数据。然后,将该用户信息数据进行 RSA 非对称加密,得到一个加密字符串 A。接着,将加密字符串 A 进行签名,得到一个签名数据。最后,将签名数据和加密字符串进行拼接,并使用 Base64 编码,得到最终的 Token 令牌,Token-a。
保证了用户信息数据的安全性。同时,使用系统时间和过期时间控制了 Token 令牌的有效期,从而防止了恶意用户的滥用。最终生成的 Token 令牌采用了 Base64 编码,便于传输和处理。但是,随机数的生成需要遵循严格的安全规范,否则会影响令牌的安全性。
步骤2:当用户张三再次使用其用户账号进行登录时,生成Token-b,以及系统会查询用户 ID 和设备登录关系,根据查找到的Token-a判断是否是同一个用户的设备登录,并且判断用户登录时Token-a令牌是否已经注销或者超时自动注销。其中,如果是第一次登录,即无设备登录关系,则直接存储生成的 Token-b,并将该 Token-b发送给客户端。由于已经存在着设备绑定关系,则需要进一步判断是否为同一个设备。如果是同一个设备登录,则存储生成的Token-b,并将该 Token-b 发送给客户端。如果不是同一个设备登录,则需要先找到之前绑定的设备对应的 Token-a,并删除上一个 Token-a。然后,存储新的 Token-b,并将该 Token-b 返回给客户端。同时,之前的登录状态将会被注销,并将新的设备与Token进行绑定,系统会发送一条消息通知提示上一个设备被挤下线。
本实施例提供的方法可以有效地避免同一个用户在多个设备上登录导致的安全隐患,通过使用新Token-b 来控制设备登录,可以防止恶意用户通过盗用 Token 来进行非法操作。同时,通过发送消息通知来提示用户,还可以增强用户体验。为了保证安全性,系统在查询用户 ID 和设备登录关系时,需要使用安全的算法和存储方式,确保用户的隐私不被泄露。
结合图4所示,该系统支持用户在个人设置中删除自己使用的设备,当用户删除使用设备时,可以传入用户的 Token 信息,在登录服务中解析 Token-a 获取到用户 ID。然后,系统会查找比对用户 ID 与设备的关系是否需要重新登录。如果需要重新登录,则发送消息通知设备 A 重新登录。如果不需要重新登录,意味着在缓存中找到了与 Token-b 对应的设备 ID。此时,系统会将与设备 ID 的 Token 移除,并回调删除本地的 RefreshToken,以实现个人用户设置删除登录设备的功能。
这种方法可以方便地管理用户的登录设备,增强用户的隐私和安全。用户可以通过个人设置页面,轻松地添加或删除自己的登录设备,实现灵活的管理方式。同时,在删除设备时,通过发送消息通知来提示用户重新登录,还可以增强用户体验。需要注意的是,为了保证安全性,系统在处理用户的请求时,需要使用安全的算法和存储方式,确保用户的隐私不被泄露。同时,在处理 Token 和 Refresh Token 的过程中,需要确保 Token 和Refresh Token 的安全性和有效性。
本实施例所提供的方法不仅仅满足单设备登录系统需要,而且由于不再使用用户ID作为判断条件存储在内存中,以使用Token鉴权的方式实现用户账号的认证,同时支持用户设置直接删除自己使用的设备,能够对用户数据安全提供更高的保障。
本申请第二方面实施例公开了一种基于Token的单一设备登录控制系统,如图5所示,所述系统包括:
信息登录模块100,用于接收用户输入的用户账号信息和本次登录设备的设备标识信息,基于所述用户账号信息和设备标识信息生成用户本次登录对应的第一Token令牌;其功能如步骤S1所述。
信息查找模块200,用于获取上一次所述用户账号信息登录时生成的第二Token令牌;从所述第二Token令牌中解析得到所述用户账号信息上一次登录时的设备标识信息;其功能如步骤S2所述。
信息核对模块300,用于将本次登录的设备标识信息与解析得到的上一次登录时的设备标识信息进行比对,判断本次登录的设备与上一次登录的设备是否为同一设备;其功能如步骤S3所述。
登录控制模块400,用于若本次登录的设备与上一次登录的设备不是同一设备,则删除第二Token令牌,并控制用户账号从所述第二Token令牌对应的设备下线,以完成本次登录,其功能如步骤S4所述。
为了更一步增加用户信息安全,所述信息登录模块包括:
信息加密单元,用于获取预设Token令牌的过期时长;使用用户账号信息、设备标识信息、所述过期时长和随机数中的一种或多种构造用户信息数据;对所述用户信息数据进行加密,得到加密后的信息加密字符串;将所述信息加密字符串进行签名,得到签名数据;将签名数据和加密字符串进行拼接,并对拼接得到数据进行编码,得到第一Token令牌。
进一步的,所述信息查找模块还用于:判断所述第二Token令牌是否已经注销,或者根据预设Token令牌的过期时长,判断第二Token令牌是否已经过期;若所述第二Token令牌已经注销或者已经过期,则直接存储第一Token令牌,并建立所述第一Token令牌与本次登录设备的设备标识信息之间的绑定关系。
进一步的,所述信息查找模块:还用于判断存储空间内是否保存有与所述用户账号信息相绑定的Token令牌;若存储空间内未保存有与所述用户账号信息相绑定的Token令牌,则直接存储第一Token令牌,并建立所述第一Token令牌与本次登录设备的设备标识信息之间的绑定关系。
在一种实施方式中,所述单一设备登录控制系统还包括:
个人设置编辑模块,用于接收用户查询个人设置信息的指令,对存储的与所述用户账号信息相对应的各个设备标识信息进行显示;以及,接收用户对个人设置信息的编辑指令,对所述编辑指令选定的一个或多个设备标识信息进行编辑;其中,所述编辑指令包括:删除、修改或者添加设备标识信息。
在一种实施方式中,所述个人设置编辑模块,还用于监控是否接收到用户输入的重新登录请求信息;
若接收到则获取与本次登录用户相对应的Token令牌,从所述Token令牌中解析得到用户账号信息获取存储空间内与所述用户账号信息相对应的设备标识信息,并判断是否需要重新登录;若不需要重新登录,则删除与所述用户账号信息相绑定的Token令牌,以及删除本次重新登录后生成的Token令牌。
详细的,所述信息核对模块包括:
信息解码单元,用于根据预设解码算法对所述第二Token令牌进行解码,得到解析出的解码数据信息;对解码数据信息按照预设解密算法进行解密,得到解密后的字符串;根据字符串中的信息确定出所述用户账号信息上一次登录时的设备标识信息。
本申请第三方面实施例公开了一种终端设备,如图6所示,所述终端设备包括存储器601和一个或者一个以上处理器602;所述存储器601存储有一个或者一个以上的程序;所述程序包含用于执行所述的基于Token的单一设备登录控制方法的指令;所述处理器602用于执行所述程序。
处理器602执行程序时实现上述实施例中提供的基于Token的单一设备登录控制方法。
进一步地,终端设备还包括:
通信接口603,用于存储器601和处理器602之间的通信。
存储器601,用于存放可在处理器602上运行的计算机程序。
存储器601可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器601、处理器602和通信接口603独立实现,则通信接口603、存储器601和处理器602可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandardArchitecture,简称为EIS)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选地,在具体实现上,如果存储器601、处理器602及通信接口603,集成在一块芯片上实现,则存储器601、处理器602及通信接口603可以通过内部接口完成相互间的通信。
处理器602可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的基于Token的单一设备登录控制方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读存储介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读存储介质的更具体的示例(非穷尽性列表)包括以下:具有一个或N个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读存储介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
本申请第四方面实施例还公开了一种计算机可读存储介质,其中,所述计算机可读存储介质存储有一个或多个程序,所述一个或多个程序可被一个或者多个处理器执行,以实现所述的基于Token的单一设备登录控制方法中的步骤。
本实施例提供的方法及系统通过使用用户账号信息和本次登录设备标识生成新的Token,获取上一次用户账号相绑定的设备信息,判断本次登录设备与上一次登录设备是否为同一个设备,若不是,则删除原Token令牌信息,并控制上一次登录的设备上用户账号下线,以实现单一设备的用户账号登录,通过控制用户账号仅能登录单一设备的方式提高用户账号的安全性,为用户信息安全提供更高的保障。
以上实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。
Claims (10)
1.一种基于Token的单一设备登录控制方法,其特征在于,包括:
接收用户输入的用户账号信息和获取本次登录设备的设备标识信息,基于所述用户账号信息和设备标识信息生成用户本次登录对应的第一Token令牌;
获取上一次所述用户账号信息登录时生成的第二Token令牌;从所述第二Token令牌中解析得到所述用户账号信息上一次登录时的设备标识信息;
将本次登录的设备标识信息与解析得到的上一次登录时的设备标识信息进行比对,判断本次登录的设备与上一次登录的设备是否为同一设备;
若否,则删除第二Token令牌,并控制用户账号从所述第二Token令牌对应的设备下线,以及,将所述第一Token令牌发送至客户端,以完成本次登录。
2.根据权利要求1所述的基于Token的单一设备登录控制方法,其特征在于,所述基于所述用户账号信息和设备标识信息生成用户本次登录对应的第一Token令牌的步骤包括:
获取预设Token令牌的过期时长;
使用用户账号信息、设备标识信息、所述过期时长和随机数中的一种或多种构造用户信息数据;
对所述用户信息数据进行加密,得到加密后的信息加密字符串;
将所述信息加密字符串进行签名,得到签名数据;
将签名数据和加密字符串进行拼接,并对拼接得到数据进行编码,得到第一Token令牌。
3.根据权利要求2所述的基于Token的单一设备登录控制方法,其特征在于,所述获取上一次所述用户账号信息登录时生成的第二Token令牌的步骤,之后还包括:
判断所述第二Token令牌是否已经注销,或者根据预设Token令牌的过期时长,判断第二Token令牌是否已经过期;
若所述第二Token令牌已经注销或者已经过期,则直接存储第一Token令牌,并建立所述第一Token令牌与本次登录设备的设备标识信息之间的绑定关系。
4.根据权利要求3所述的基于Token的单一设备登录控制方法,其特征在于,所述基于所述用户账号信息和设备标识信息生成用户本次登录对应的第一Token令牌的步骤之后,还包括:
判断存储空间内是否保存有与所述用户账号信息相绑定的Token令牌;
若存储空间内未保存有与所述用户账号信息相绑定的Token令牌,则直接存储第一Token令牌,并建立所述第一Token令牌与本次登录设备的设备标识信息之间的绑定关系。
5.根据权利要求1所述的基于Token的单一设备登录控制方法,其特征在于,所述方法还包括:
接收用户查询个人设置信息的指令,对存储的与所述用户账号信息相对应的各个设备标识信息进行显示;
以及,接收用户对个人设置信息的编辑指令,对所述编辑指令选定的一个或多个设备标识信息进行编辑;其中,所述编辑指令包括:删除、修改或者添加设备标识信息。
6.根据权利要求5所述的基于Token的单一设备登录控制方法,其特征在于,对所述编辑指令选定的一个或多个设备标识信息进行编辑的步骤之后,还包括:
监控是否接收到用户输入的重新登录请求信息;
若接收到则获取与本次登录用户相对应的Token令牌,从所述Token令牌中解析得到用户账号信息;
获取存储空间内与所述用户账号信息相对应的设备标识信息,并判断是否需要重新登录;
若不需要重新登录,则删除与所述用户账号信息相绑定的Token令牌,以及删除本次重新登录后生成的Token令牌。
7.根据权利要求5所述的基于Token的单一设备登录控制方法,其特征在于,所述从所述第二Token令牌中解析得到所述用户账号信息上一次登录时的设备标识信息的步骤,包括:
根据预设解码算法对所述第二Token令牌进行解码,得到解析出的解码数据信息;
对解码数据信息按照预设解密算法进行解密,得到解密后的字符串;
根据字符串中的信息确定出所述用户账号信息上一次登录时的设备标识信息。
8.一种基于Token的单一设备登录控制系统,其特征在于,包括:
信息登录模块,用于接收用户输入的用户账号信息和获取本次登录设备的设备标识信息,基于所述用户账号信息和设备标识信息生成用户本次登录对应的第一Token令牌;
信息查找模块,用于获取上一次所述用户账号信息登录时生成的第一Token令牌;从所述第一Token令牌中解析得到所述用户账号信息上一次登录时的设备标识信息;
信息核对模块,用于将本次登录的设备标识信息与解析得到的上一次登录时的设备标识信息进行比对,判断本次登录的设备与上一次登录的设备是否为同一设备;
登录控制模块,用于若本次登录的设备与上一次登录的设备不是同一设备,则删除第二Token令牌,并控制用户账号从所述第二Token令牌对应的设备下线,以及,将所述第一Token令牌发送至客户端,以完成本次登录。
9.一种终端设备,其特征在于,所述终端设备包括有存储器和一个或者一个以上处理器;所述存储器存储有一个或者一个以上的程序;所述程序包含用于执行如权利要求1-7中任一项所述的基于Token的单一设备登录控制方法的指令;所述处理器用于执行所述程序。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或多个程序,所述一个或多个程序可被一个或者多个处理器执行,以实现如权利要求1-7任一项所述的基于Token的单一设备登录控制方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310784871.6A CN117014183A (zh) | 2023-06-29 | 2023-06-29 | 一种基于Token的单一设备登录控制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310784871.6A CN117014183A (zh) | 2023-06-29 | 2023-06-29 | 一种基于Token的单一设备登录控制方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117014183A true CN117014183A (zh) | 2023-11-07 |
Family
ID=88573580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310784871.6A Pending CN117014183A (zh) | 2023-06-29 | 2023-06-29 | 一种基于Token的单一设备登录控制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117014183A (zh) |
-
2023
- 2023-06-29 CN CN202310784871.6A patent/CN117014183A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108023874B (zh) | 单点登录的校验装置、方法及计算机可读存储介质 | |
CN112291279B (zh) | 路由器内网访问方法、系统、设备以及可读存储介质 | |
CN109981562B (zh) | 一种软件开发工具包授权方法及装置 | |
CN110177124B (zh) | 基于区块链的身份认证方法及相关设备 | |
KR101185595B1 (ko) | 스마트 카드를 이용하여 보안 기능을 수행하는 장치 및 그방법 | |
CN110149209B (zh) | 物联网设备及其提高数据传输安全性的方法和装置 | |
CN112632521B (zh) | 一种请求响应方法、装置、电子设备和存储介质 | |
CN107145769B (zh) | 一种数字版权管理drm方法、设备及系统 | |
CN108512845B (zh) | 接口调用的校验方法及装置 | |
CN111669351B (zh) | 鉴权方法、业务服务器、客户端及计算机可读存储介质 | |
CN111800377B (zh) | 一种基于安全多方计算的移动终端身份认证系统 | |
WO2017206524A1 (zh) | 电子设备控制方法、终端和控制系统 | |
CN105100009A (zh) | 登陆控制系统、方法和装置 | |
CN110446075A (zh) | 加密方法及装置、解密方法及装置、电子设备 | |
CN111585970A (zh) | 一种令牌的验证方法和装置 | |
KR20230110613A (ko) | 가상 키 공유 시스템 및 방법 | |
CN113726774A (zh) | 客户端登录认证方法、系统和计算机设备 | |
CN110856170B (zh) | 数据传输方法、装置及物联网通信系统 | |
CN110138765B (zh) | 数据处理方法、装置、计算机设备和计算机可读存储介质 | |
CN110798432A (zh) | 安全认证方法、装置和系统,移动终端 | |
CN113114610B (zh) | 一种取流方法、装置及设备 | |
CN112699404A (zh) | 一种校验权限的方法、装置、设备及存储介质 | |
CN111988262B (zh) | 认证方法、装置及服务器、存储介质 | |
CN108390892B (zh) | 一种远程存储系统安全访问的控制方法和装置 | |
CN103559430A (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 |