双令牌账户登录方法及登录验证装置与流程

文档序号:12278752阅读:476来源:国知局
双令牌账户登录方法及登录验证装置与流程

本发明涉及互联网技术领域,特别的,涉及一种使用友好的,双令牌账户登录方法及装置。



背景技术:

现有技术中,互联网技术已经越来越多的介入日常生活,用户需要在手机或者电脑上频繁的登录各种网站或者APP应用,各种登录的方法既要满足安全性,又要满足用户使用的便利性。

当前常用的账号登录方式包括如下几种:

第一种方式,登录只在一段时间内有效,最多一天,超过这段时间,访问相同站点需要重新登录。

第二种方式是站点可以让用户选择登录长期有效,这个有效期一般为一个月,在此期间无论何种情况访问当前站点都无需重新登录。

第三种方式是登录长期有效,但站点会根据用户的活跃度来决定用户是否需要重新登录。

上述的方案存在如下的缺点:

1.安全性和用户友好性两方面都欠缺考虑

第一种登录方式在此两个方面就都欠缺考虑。首先,采用这种登录方式有效期比较短,重度使用此站点的用户需要频繁输入用户名密码进行登录,虽然现代的浏览器都可以记住账号和密码可以方便登录,但是依然需要点击登录按钮进行登录,且账号和密码被浏览器记住也是存在风险的;再次此种方式登录后,会在用户客户端种一个和用户登录相关的cookie,cookie就是一个文件,一旦这个文件被其他用户获取,将可以在有效期内做站点做任何业务。

2.照顾到了用户友好性,但信息安全性较差

第二种登录方式就是此种情况的典型代表,一旦用户点击了长期有效,则在登录后的一个月内用户是不需要输入用户名和密码进行登录的,用户的交互友好性的确得到了照顾;但此种方式的安全性较差,因为登录后在客户端产生的cookie文件容易被三方盗取,一旦盗取服务端是无法觉察的,只有用户投诉让服务方手工干预或者等待登录到期。

3.考虑到了安全方面的问题,缺失了用户友好性

第三种登录方式一般的过程如下,用户虽然登录了站点,但因为有其他的事情一段时间在此站点上没有任何访问或其他的行为,而站点因为设置了一段时间内用户无访问的情况下再次访问站点用户无论做任何访问都需要重新登录的规则,这时虽然登录cookie有效但依然需要重新登录,这种方式安全性是有一定的保障的,但是用户友好性不够。



技术实现要素:

本发明的目的在于提出一种双令牌账户登录方法及装置,以解决用户友好性和安全性的矛盾。

为达此目的,本发明采用以下技术方案:

一种双令牌账户登录方法,包括如下步骤:

步骤110:接收用户登录认证请求,登录认证请求中包含了用户的账户信息;

步骤120:判断所述用户登录请求中是否包含长期登录请求,如果有所述长期登录请求,则生成会话令牌(会话token)和持久令牌(长期token),否则仅生成会话令牌(会话token);

步骤130:发送在步骤120中生成的令牌给用户,并且允许用户登录,发送后续信息。

优选地,步骤140:接收用户的内容请求,所述内容请求中携带有用户得到的所有的令牌;

步骤150:判断所述内容请求中是否包含会话令牌,如果有会话令牌,则对该会话令牌进行验证,如果验证通过,则进入步骤160,如果没有会话令牌,则判断是否包含持久令牌,如果有持久令牌,则对该持久令牌进行验证,如果验证通过,则生成新的会话令牌,并进入步骤160,否则验证失败,重新登录验证;

步骤160:将验证更新后的令牌发送给用户,并且允许用户登录,发送后续信息。

优选地,在步骤150中,如果判断有会话令牌,且会话令牌验证不通过,则转入持久令牌验证。

优选地,在步骤150之后,允许用户登录之前,还包括步骤155,在会话令牌验证通过后,或者持久令牌验证通过,生成新的会话令牌后,均对会话令牌的过期时间进行更新。

优选地,在步骤150之后,允许用户登录之前,还可以根据所访问页面的需要,要求用户重新输入用户和密码进行二次验证。

本发明还公开了一种双令牌账户登录验证装置,其特征在于,包括:

第一接收模块:用于接收用户登录认证请求,登录认证请求中包含了用户的账户信息;

第一判断模块:用于判断所述用户登录请求中是否包含长期登录请求,如果有所述长期登录请求,则生成会话令牌(会话token)和持久令牌(长期token),否则仅生成会话令牌(会话token);

第一发送模块:用于发送在步骤120中生成的令牌给用户,并且允许用户登录,发送后续信息。

优选地,第二接收模块:用于接收用户的内容请求,所述内容请求中携带有用户得到的所有的令牌;

第二判断模块:用于判断所述内容请求中是否包含会话令牌,如果有会话令牌,则对该会话令牌进行验证,如果验证通过,则利用第二发送模块,允许用户登录,发送后续信息,如果没有会话令牌,则判断是否包含持久令牌,如果有持久令牌,则对该持久令牌进行验证,如果验证通过,则生成新的会话令牌,并利用第二发送模块,允许用户登录,发送后续信息,否则验证失败,重新登录验证;

第二发送模块:将验证更新后的令牌发送给用户,并且允许用户登录,发送后续信息。

优选地,所述第二判断模块,如果判断有会话令牌,且会话令牌验证不通过,则转入持久令牌验证。

优选地,还包括更新模块,在会话令牌验证通过后,或者持久令牌验证通过,生成新的会话令牌后,对会话令牌的过期时间进行更新。

优选地,对于所述第二判断模块,允许用户登录之前,还根据所访问页面的需要,要求用户重新输入用户和密码进行二次验证。

本发明选择了令牌验证的方式,客户端存储的信息与用户敏感信息无关,且在在拿到客户端信息的情况下,依然无法得到用户的认证信息。当用户选择长期登录时,采用双令牌的机制,确保在一段时间内始终生成会话令牌,且在安全性较高的服务时,仍然选择输入用户名和密码,一切用户认证信息都只能在服务器端存储,一切用户敏感业务都需要通过统一验证中心后才可以访问,系统能够友好识别用户是被动登录还是主动输入认证信息后的登录,既保证了安全性,又提高了用户使用的友好性。

附图说明

图1是根据本发明具体实施例的双令牌登录方法的一个实施例的流程图;

图2是根据本发明具体实施例的双令牌登录方法的另一个实施例的流程图;

图3是是根据本发明具体实施例的双令牌登录验证装置的模块图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

本发明提供了一种使用友好,并且安全性较高的双令牌账户登录方法及装置,

参见图1,示出了根据本发明具体实施例的双令牌登录方法的一个实施例:

步骤110:接收用户登录认证请求,登录认证请求中包含了用户的账户信息;

在本实施例中,该步骤表示用户根据诸如用户名、密码等的账户信息想服务器发起用户登录认证请求,而服务端接收到了该用户登录认证请求。

该步骤一般用于用户从来没有登录过当前站点,站点显示标准的登录页面,包含用户名和密码以及其他验证码之类的输入框的页面;且用户可以选择直接登录,也可以选择后期自动登录的方式,比如“记住我”之类的勾选。

步骤120:判断所述用户登录请求中是否包含长期登录请求,如果有所述长期登录请求,则生成会话令牌(会话token)和持久令牌(长期token),否则仅生成会话令牌(会话token);

在本实施例中,该步骤表示服务端用于判断用户登录请求的时间长短,例如,用户可以勾选诸如“记住我”选择框,以请求进行长期登录,如果用户不勾选诸如“记住我”选择框,则该用户登录请求不包含长期登录请求,则仅仅表示进行短期的登录。根据不同的请求,生成的令牌不同,会话令牌仅用于判断是否允许短期的登录,例如几个小时,或者是否退出网站或者APP,当经过相应的事件,或者退出网站后,则会话令牌则失效;而持久令牌则允许长期的登录,例如1个月。其中会话令牌和持久令牌均和用户的账号等信息关联,且也缓存在服务器中。

步骤130:发送在步骤120中生成的令牌给用户,并且允许用户登录,发送后续信息。

在本实施例中,该步骤表示在用户初始认证成功后,服务端发送对应令牌,并允许用户登录。

因此,采用该方法,在客户端仅仅保存了会话令牌,以及是否进行持久登录的持久令牌,上述信息与用户的敏感信息无关,即便拿到客户端的信息,也无法得到用户的认证信息。

进一步的,参见图2,示出了根据本发明具体实施例的双令牌登录方法的另一个实施例:

步骤140:接受用户的内容请求,所述内容请求中携带有用户得到的所有的令牌;

在本实施例中,该步骤表示在服务端在客户端种入令牌后,用户访问站点的任何内容,都需要携带相应的令牌进行会话验证。

步骤150:判断所述内容请求中是否包含会话令牌,如果有会话令牌,则进行会话令牌验证,例如,将此会话令牌对应的值(Value)与缓存服务器中的值进行比较,如果验证通过,则进入步骤160,如果没有会话令牌,则判断是否包含持久令牌,如果有持久令牌,则进行持久令牌验证,例如,将此持久令牌对应的值(Value)与缓存服务器中的值进行比较,如果验证通过,则生成新的会话令牌,并进入步骤160,否则验证失败,重新登录验证。

在本实施例中,该步骤表示在会话令牌和持久令牌都种到客户端之后,用户访问站点任何内容都需要先做会话验证服务,只有会话验证通过之后才会去访问用户想要访问的内容。通过持久令牌表示用户是否长期登录。当会话令牌失效后,会话服务会根据持久令牌来生成新的会话令牌,这时候的会话令牌被标记为被动的会话令牌,表示是由登录后内容请求而生成的令牌,以区别首次登录生成的会话令牌(该令牌也可称为主动的会话令牌)。

步骤160:将验证更新后的令牌发送给用户,并且允许用户登录,发送后续信息。

在本实施例中,该步骤表示该验证更新后的令牌,可以仅包括首次登录生成的主动会话令牌,也可以包括持久令牌和新生成的被动会话令牌。

进一步的,在步骤150中,如果判断有会话令牌,且会话令牌验证不通过,则转入持久令牌验证。

这样,在任何令牌验证中,都有补救机制保证进行持久令牌验证,以保证始终能够判断用户是否勾选了“记住我”,选择长期登录。

进一步的,在步骤150之后,允许用户登录之前,还包括步骤155,在会话令牌验证通过后,或者持久令牌验证通过,生成新的会话令牌后,均对会话令牌的过期时间进行更新。

该步骤也可以在会话令牌验证通过,仅对验证后的会话令牌的过期时间进行更新,这是由于持久令牌验证通过,生成新的会话令牌的过期时间是最新的,无须进行更新。本领域技术人员应当知道,上述的变形效果是一样的。

在本实施例中,该步骤表示会话令牌在有效期内,它的有效期会随用户的不断访问而向后推移,从而始终允许用户访问。

此外,在步骤150之后,允许用户登录之前,还可以根据所访问页面的需要,要求用户重新输入用户和密码进行二次验证。

在本实施例中,该步骤表示可以根据安全等级需求的需要灵活安排二次认证。

此时,服务端可以是在仅生成新的被动的会话令牌后要求进行二次验证,也可以无论是主动的会话令牌验证,还是生成新的被动的会话令牌,均要求用户重新输入用户和密码进行二次验证。这样,即使装有两个令牌的cookie文件被盗取了也是没有关系的,均能够保证系统的安全性和涉密业务的准入性。

因此,根据本发明的实施例,用户的一切认证信息都只能在服务器端存储;一切用户敏感业务都需要通过统一验证中心后才可以访问,且系统能够通过识别是被动登录还是主动输入认证信息后的登录。

为了便于理解,下面通过一个具体的应用场景对本发明的双令牌账户登录方法进行描述:

以选择了“记住我”为例,进行说明。用户登录某个网站,“记住我”,发送登录请求,则此时,服务端收到登录请求后,判断存在长期登录请求,根据用户账号和密码,生成会话令牌和持久令牌,并允许用户登录,等用户登录后,进行任何其它的页面或者业务请求后,均需要利用得到的会话令牌进行会话验证服务,当会话令牌还在有效期之内的时候,服务端能够对该会话令牌验证,如果验证通过则继续访问,且更新该会话令牌的过期时间,并将更新后的会话令牌返回给用户,保证用户能够进行后续的访问;如果验证不通过,则寻找是否有持久令牌,如果也没有持久令牌,则验证失败,无法继续访问。如果会话令牌由于超过预定时间而失效后,则直接进行持久令牌的验证,如果持久令牌的验证失败,则无法继续访问,需要重新输入用户名和密码,如果持久令牌验证通过,则重新生成新的会话令牌(相当于被动的会话令牌),允许继续访问,并将更新后的会话令牌返回给用户,保证用户能够进行后续的访问。

如果,用户未选择“记住我”的选项,用户登录某个网站,“记住我”,发送登录请求,则此时,服务端收到登录请求后,判断不存在长期登录请求,根据用户账号和密码,只生成会话令牌,并允许用户登录,等用户登录后,进行任何其它的页面或者业务请求后,均需要利用得到的会话令牌进行会话验证服务,当会话令牌还在有效期之内的时候,服务端能够对该会话令牌验证,如果验证通过则继续访问,且更新该会话令牌的过期时间,并将更新后的会话令牌返回给用户,保证用户能够进行后续的访问;如果验证不通过,则寻找是否有持久令牌,由于没有持久令牌,则验证失败,无法继续访问。如果会话令牌由于超过预定时间而失效后,则直接进行持久令牌的验证,由于没有持久令牌,则验证失败。

其中,可以调用SESSIONS生成接口,生成主动会话令牌和持久令牌,可以调用so加密主动会话令牌和/或持久令牌,并将加密后的内容通过json返回给客户端。

因此,本发明选择了令牌验证的方式,客户端存储的信息与用户敏感信息无关,且在在拿到客户端信息的情况下,依然无法得到用户的认证信息。当用户选择长期登录时,采用双令牌的机制,确保在一段时间内始终生成会话令牌,且在安全性较高的服务时,仍然选择输入用户名和密码,一切用户认证信息都只能在服务器端存储,一切用户敏感业务都需要通过统一验证中心后才可以访问,系统能够友好识别用户是被动登录还是主动输入认证信息后的登录,既保证了安全性,又提高了用户使用的友好性。

下面对本发明的双令牌账户登录验证装置进行详细描述,请参见图3,示出了,根据本发明具体实施例的双令牌账户认证装置,该装置设置在服务器端,对用户发出的各种登录请求,或者内容请求进行验证。

一种双令牌账户登录验证装置,包括:

第一接收模块210:用于接收用户登录认证请求,登录认证请求中包含了用户的账户信息;

第一判断模块220:用于判断所述用户登录请求中是否包含长期登录请求,如果有所述长期登录请求,则生成会话令牌(会话token)和持久令牌(长期token),否则仅生成会话令牌(会话token);

第一发送模块230:用于发送在步骤120中生成的令牌给用户,并且允许用户登录,发送后续信息。

进一步的,还包括第二接收模块240:用于接收用户的内容请求,所述内容请求中携带有用户得到的所有的令牌;

第二判断模块250:用于判断所述内容请求中是否包含会话令牌,如果有会话令牌,则对该会话令牌进行验证,如果验证通过,则利用第二发送模块,允许用户登录,发送后续信息,如果没有会话令牌,则判断是否包含持久令牌,如果有持久令牌,则对该持久令牌进行验证,如果验证通过,则生成新的会话令牌,并利用第二发送模块,允许用户登录,发送后续信息,否则验证失败,重新登录验证;

第二发送模块260:将验证更新后的令牌发送给用户,并且允许用户登录,发送后续信息。

进一步的,所述第二判断模块250,如果判断有会话令牌,且会话令牌验证不通过,则转入持久令牌验证。

进一步的,还包括更新模块255,在会话令牌验证通过后,或者持久令牌验证通过,生成新的会话令牌后,对会话令牌的过期时间进行更新。

进一步的,对于所述第二判断模块250,允许用户登录之前,还根据所访问页面的需要,要求用户重新输入用户和密码进行二次验证。

显然,本领域技术人员应该明白,上述的本发明的各单元或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施方式仅限于此,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单的推演或替换,都应当视为属于本发明由所提交的权利要求书确定保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1