精华内容
下载资源
问答
  • Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。

    1. Token的定义

    Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。

    token是有时效的,一段时间之后用户需要重新验证。我们也不一定需要等到token自动失效,token有撤回的操作,通过token revocataion可以使一个特定的token或是一组有相同认证的token无效。

    2. 使用Token的目的

    Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。

    3. Token 的优点

    扩展性强,无状态、可扩展。
    在客户端存储的Tokens是无状态的,并且能够被扩展。基于这种无状态和不存储Session信息,负载均衡器能够将用户信息从一个服务传到其他服务器上。
    如果我们将已验证的用户的信息保存在Session中,则每次请求都需要用户向已验证的服务器发送验证信息(称为Session亲和性)。用户量大时,可能会造成一些拥堵。
    而使用tokens之后这些问题都迎刃而解,因为tokens自己hold住了用户的验证信息。

    安全性强,非常适合用在 Web 应用或者移动应用上。Token 的中文有人翻译成 “令牌”,意思是:拿着这个令牌,才能过一些关卡。

    4. Token一般用在三个地方

    ①防止表单重复提交
    CSRF攻击(跨站点请求伪造)
    ③身份验证(单点登录)

    5. Token的验证过程

    (1) 客户端使用用户名跟密码请求登录 ;
    (2) 服务端收到请求,去验证用户名与密码 ;
    (3)验证成功后,服务端会签发一个 Token,再把这个 Token发送给客户端 ;
    (4)客户端收到 Token 以后可以把它存储起来,比如放在Cookie、 Local Storage、Session Storage中;
    (5)客户端每次向服务端请求资源的时候需要带着服务端签发的Token ;
    (6)服务端收到请求,采用filter过滤器,校验客户端请求带着的 Token,校验成功则返回请求数据,校验失败则返回错误码。

    token示意图:
    token图(该图片来自脚本之家https://www.jb51.net/)

    展开全文
  • 这是一个token的示例,众所周知,token是用于后台服务器认证浏览器的一种技术,它弥补了cookie对数据大小限制和安全性问题
  • 什么Token 令牌

    千次阅读 2020-07-22 11:55:20
    在计算机身份认证中是令牌(临时)的意思,在词法分析中是标记的意思. ...密保令牌(Security token),或者硬件令牌,例如U盾,或者叫做认证令牌或者加密令牌,一种计算机身份校验的物理设备 会话令牌(Se...

    在计算机身份认证中是令牌(临时)的意思,在词法分析中是标记的意思.

    Token, 令牌,代表执行某些操作的权利的对象

    访问令牌(Access token)表示访问控制操作主体的系统对象

    邀请码,在邀请系统中使用

    Token, Petri 网(Petri net)理论中的Token

    密保令牌(Security token),或者硬件令牌,例如U盾,或者叫做认证令牌或者加密令牌,一种计算机身份校验的物理设备

    会话令牌(Session token),交互会话中唯一身份标识符

    令牌化技术 (Tokenization), 取代敏感信息条目的处理过程

    token或者说令牌到底是什么东西,有什么作用,为什么token的中文翻译是“令牌”?

     

            在OAuth协议中,token是在输入了用户名和密码之后获取的,利用这个token你可以拥有查看或者操作相应的资源的权限。你有这些权限,是因为服务器知道你是谁(authentication)以后赋予你的,所以token这个东西,其实就是你的一个“代表”,或者说完全能代表你的“通行证”。

    在web中,可以通过

    var userAgent = window.navigator.userAgent;
     

    获取到token。

     

    登录令牌 Token 介绍

    Token值介绍 
    token 值: 登录令牌.利用 token 值来判断用户的登录状态.类似于 MD5 加密之后的长字符串. 
    用户登录成功之后,在后端(服务器端)会根据用户信息生成一个唯一的值.这个值就是 token 值. 
    基本使用: 
    在服务器端(数据库)会保存这个 token 值,以后利用这个 token 值来检索对应的用户信息,并且判断用户的登录状态. 
    用户登录成功之后,服务器会将生成的 token 值返回给 客户端,在客户端也会保存这个 token 值.(一般可以保存在 cookie 中,也可以自己手动确定保存位置(比如偏好设置.)). 
    以后客户端在发送新的网络请求的时候,会默认自动附带这个 token 值(作为一个参数传递给服务器.).服务器拿到客户端传递的 token 值跟保存在 数据库中的 token 值做对比,以此来判断用户身份和登录状态. 
    判断登录状态: 
    如果客户端没有这个 token 值,意味着没有登录成功过,提示用户登录. 
    如果客户端有 token 值,一般会认为登录成功.不需要用户再次登录(输入账号和密码信息). 
    token 值扩展: 
    token 值有失效时间: 
    一般的 app ,token值得失效时间都在 1 年以上. 
    特殊的 app :银行类 app /支付类 app :token值失效时间 15 分钟左右. 
    一旦用户信息改变(密码改变),会在服务器生成新的 token 值,原来的 token值就会失效.需要再次输入账号和密码,以得到生成的新的 token 值. 

    唯一性判断: 每次登录,都会生成一个新的token值.原来的 token 值就会失效.利用时间来判断登录的差异性.

    展开全文
  • 主要介绍了Java令牌Token登录与退出的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • token 令牌完整介绍及使用

    千次阅读 2020-04-06 23:09:39
    一般在前后端分离开发 一个加密以后的字符串,该字符串可以被反编译 反编译就是加完密之后还可以解开 只不过这里的解开需要一把钥匙的(key) 执行流程 当用户登陆完成之后,服务端会生成一个令牌。并将令牌...

    介绍

    举个例子:比如你想去公园,这个 token 就相当于门票,你只有拿着这个门票才能进去

    一般用在前后端分离开发

    一个加密以后的字符串,该字符串可以被反编译

    • 反编译就是加完密之后还可以解开
    • 只不过这里的解开需要一把钥匙的(key)

    执行流程

    1. 当用户登陆完成之后,服务端会生成一个令牌。并将令牌返回给前端
    2. 前端得到令牌之后将其保存。
    3. 当调用敏感的接口时,需要传递token.
    4. 服务端会对token进行验证。

    存储的是什么?

    一般存储着个人信息,过期时间

    • 等你再次访问比较敏感的接口的时候,把令牌交给服务器端,服务器端对其进行解析,解析完就可以得到令牌当中的 个人信息和过期时间
    • 前端得不到 个人信息和过期时间,前端只能得到一个令牌,你对这个令牌不能够解析,只有服务器端可以。
    • 前端为什么不可以?因为前端没有秘密可言,像那种比较复杂的算法是不会放在前端的,因为前端右键源码就可以看的到
    • 用户每次登录的时候都会生成一个新的令牌

    验证的具体流程

    1. 验证token是否正确
      1. 正确。
        验证token是否过期。
        1. 过期:返回过期信息给前端。前端让其自动退出
        2. 未过期:继续执行。
      2. 不正确。返回异常。前端让其自动退出。

    token生成以及使用

    1. 下载模块 JWT–JSON web token
      • 在你的服务器端
      • 比如你写后端接口的那个地方,在同一个地址里面下载
        - cnpm install jwt-simple -S
    
    1. 引入
        const jwt = require("jwt-simple");
    
    1. 生成
        jwt.encode(payload,key);  //第一个参数是你要荷载的内容 payload
    
    • 一般包含个人信息和过期时间
    const key = "sadawidha9dahd"
    const token = jwt.encode({
       	admin:"zhangsan",      //个人信息
       	createTime:Data.now()  //生成时间
    	}
    	,key); 
    
    1. 解析
        jwt.decode(token,key);   //
    
        const info = jwt.decode(token,key);   //这个 info 就是你解析的内容,内容就是你荷载的信息
    
    • 在调用私密接口时使用。

    如何判断 token 是否过期

    • 出在解析这个地方
    • 在生成的时候我们生成一个时间
    • 那么我使用这个生成时间的话 info.createTime
    • 既然知道生成时间,再和当前的时间进行比较
    • 当前时间 - createTime = 间隔时间
        const info = jwt.decode(token,key);   //这个 info 就是你解析的内容,内容就是你荷载的信息
        const nowTime= Date.now();  //当前时间
        
        if((nowTime-info.createTime) > 100*60*1000){
        console.log("过期啦")
        }else{
        console.log("正常")
    
    展开全文
  • token令牌生成和验证

    2020-07-19 11:19:44
    token令牌生成和验证

    token令牌生成和验证

    <?php
    /**
     * 登录保持的token令牌
     * 登录成功创建token令牌
     * 后续用token令牌保持登陆
     */
    
    namespace app\common\model;
    
    
    use think\facade\Request;
    
    class Token
    {
        #token文件前缀
        private $fileName = "admin_token";
        #token后台保存目录
        private $fileCatalog = "share";
        /**
         * 生成用户的token,保持登陆
         * @param  $userid  int      用户id
         * @return $token   string   用户token
         */
        public function createToken( $id )
        {
            $id_rand = rand(10,99).$id.rand(0,9);
            //设置token保存的文件目录
            $token= MD5( $id.uniqid().rand( 00000000,99999999 ) ).'_'.$id_rand;
            #获取token保存目录
            $app_model = $this->fileCatalog;
            #应用不同, token保存的目录就不同,方便万能使用
            $file_dir =  root_path()."public".DS."token".DS.$app_model.DS;
            if( !file_exists( $file_dir ) )
            {
                mkdir($file_dir,0777,true);
            }
    
            $token_file_name =$file_dir.$this->fileName."_".$id;
            $fh = fopen( $token_file_name,'w' );
            #数据
            $data['time']  = time();
            $data['token'] = $token;
            $data['id']    = $id;
            $data['ip'] = Request::ip();
            #写入
            fwrite( $fh,serialize( $data ) );
            fclose( $fh );
            return $token;
        }
        /**
         * 用户登陆验证,利用key获取管理员id
         * 3天内有登陆再次更改为3天有效key
         * @param  $token   string  管理员key
         * @return [type]   id      管理员id
         */
        public function checkToken($token)
        {
            if( $token == FALSE )
            {
                returnJson( -1001, "token不存在,请重新登陆");
            }
            $max_time=86400 * 3;  //3天过期时间,单位是秒
            $id = getTokenId( $token );  //取到用户id
            #获取token保存目录
            $app_model = $this->fileCatalog;
            $file_dir =  root_path()."public".DS."token".DS.$app_model.DS;
            $file =$file_dir.$this->fileName."_".$id;#//找到token文件
            //token存在的情况
            if( file_exists( $file ) )
            {
                $fh = @fopen($file,'r');
                //反序列化出token文件数据,等到time,key,id,ip;
                $f_code = unserialize(@fread($fh,filesize($file)));
                @fclose($fh);
    
                if($f_code['ip'] !== Request::ip())
                {
                    returnJson( -1004, "登入IP异常,请重新登录");
                }
    
                if($f_code['time']+$max_time < time())
                {
                    returnJson( -1002, "token过期,请重新登陆");
                }else
                {
                    //没有过期,过期时间重新计算,避免用户每3天登陆一次
                    $id = $f_code['id'];
                    $fh1 = fopen( $file,'w' );
                    #数据
                    $data['time']  = time();
                    $data['token'] = $token;
                    $data['id']    = $id;
                    $data['ip'] = Request::ip();
                    //重新写入当前时间,确保3天以内登陆的用户一直不需要重新登陆
                    fwrite( $fh1,serialize( $data ) );
                    fclose( $fh1 );
                    return $id;
                }
            }else
            {
                returnJson( -1003, "token异常,请重新登陆");
            }
        }
    
    }
    
    展开全文
  • 主要介绍了Vue axios获取token临时令牌封装案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • token令牌

    千次阅读 2018-07-15 10:49:38
    防止重复刷新提交:token令牌.创建一个单例模式,防止两人同时提交,使用synchronzied关键字使线程安全.使用通用识别码随机生成一个uuidpackage com.dt64.util;import java.util.UUID;public class Stoken { static ...
  • Token令牌入门学习一

    万次阅读 2018-06-01 17:51:02
    在计算机身份认证中是令牌(临时)的意思,在词法分析中是标记的意思. 如果觉得文章不错,对你帮助,请作者喝杯咖啡,谢谢!如果对您帮助 ,请多多支持....!!打开支付宝首页搜...Token, 令牌,代表执...
  • asp.net webapi2 基于token令牌的身份验证 通过浏览器模拟附加token的headers请求授权
  • 主要给大家介绍了关于ThinkPHP5.1表单令牌Token失效问题的解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用ThinkPHP具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
  • 生成 token 令牌

    千次阅读 2018-06-26 15:55:26
    import java.security.MessageDigest;... * 功能:生成token&lt;br&gt; * 作者:张tt&lt;br&gt; * 时间:2017年6月26日&lt;br&gt; * 版本:1.0&lt;br&gt; ...
  • token令牌的理解

    2020-04-16 14:37:41
    Token, 令牌,代表执行某些操作的权利的对象 在计算机身份认证中是令牌(临时)的意思,在词法分析中是标记的意思。一般作为邀请、登录系统使用。 既是标记的意思,不同的用户不同的标记,赋有不同的权力 生成 ...
  • 今天小编就为大家分享一篇laravel5.5安装jwt-auth 生成token令牌的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 什么是用户token(令牌)

    千次阅读 2019-05-27 11:30:48
    是计算机术语:令牌令牌是一种能够控制站点占有媒体的特殊帧,以区别数据帧及其他控制帧。token其实说的更通俗点可以叫暗号,在一些数据传输之前,要先进行暗号的核对,不同的暗号被授权不同的数据操作。基于 ...
  • token令牌生成工具类

    万次阅读 2018-06-11 15:08:02
    这里记录一个生成token的方法,token根据userId生成。此工具类包含的主要功能: userId隐式传输,保证数据安全; 不对称加密方式,防止数据篡改;import java.io.UnsupportedEncodingException; import java....
  • token令牌常用的四种加密方式

    千次阅读 2020-02-10 21:16:05
    1,base64 ‘防君子不防小人’ 方法 作用 参数 返回值 b64encode 将输入的参数转化为base64规则的串 预加密的明文,类型为bytes;例:b‘guoxiaonao’ base64对应编码的密文,类型为bytes;...例:b’Z3V...
  • C#WEB用户令牌TOKEN验证,防止HTTP、GET、POST等提交包含服务端和客户端源码。Nginx集群,SSL证书的WebApi令牌验证
  • Token令牌) Acesss Token 访问资源接口(API)时所需要的资源凭证 简单 token 的组成: uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,token 的前几位以哈希算法压缩成的一定长度的十六进制...
  • Token令牌传递

    千次阅读 2020-05-14 05:34:19
    我们为什么使用token 随着交互式应用的兴起,我们需要记住用户的信息与数据,但http协议是无状态的,所以传统的解决办法就是基于服务器的验证–session。 为了区分每个用户,服务器为每个客户分配一个会话标识...
  • Token令牌

    千次阅读 2018-09-23 17:13:16
    什么Token? 用户调用服务器API,向服务器发送的一个可靠的验证信息,用于服务器判断是否为用户 为什么使用Token? 1、传统web验证方式是每次都发送用户名和密码给服务器进行验证,每次都需要发送用户名密码...
  • JSON WEB TOKEN令牌快速入门学习 (jwt)

    千次阅读 2019-03-08 11:52:16
    JSON Web Token(JWT)是一个开放的行业标准(RFC 7519),它定义了一种简介的、自包含的协议格式,用于 在通信双方传递json对象,传递的信息经过数字签名可以被验证和信任。JWT可以使用HMAC算法或使用RSA的公 钥/...
  • 什么Token令牌)? Acesss Token 访问资源接口(API)时所需要的资源凭证 简单 token 的组成: uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,token 的前几位以哈希算法压缩成的一定长度的...
  • @ solana / spl-token-registry Solana令牌注册表是一个软件包,允许应用程序查询令牌列表。 令牌的JSON模式包括:chainId,地址,名称,小数,符号,logoURI(可选),标签(可选)和自定义扩展元数据。 安装 npm ...
  • Token令牌管理权限

    2019-03-29 16:37:00
    什么token HTTP是一种无状态的协议,也就是HTTP没法保存客户端的信息,没办法区分每次请求的不同。 Token是服务器生成的一串字符,作为客户端请求的令牌。当第一次登陆后,服务器会分发Tonken字符串给客户端。后续...
  • 令牌环网(Token Ring)是一种 LAN 协议,定义在 IEEE 802.5 中,其中所有的工作站都连接到一个环上,每个工作站只能同直接相邻的工作站传输数据。通过围绕环的令牌信息授予工作站传输权限。这是一个动画!
  • 如何利用token令牌防止表单重复提交

    千次阅读 2018-12-10 15:31:44
    如何利用token令牌防止表单重复提交,老规矩一步一步来。 第一步:写一个令牌生成器类, package com.accp.entity; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import ...
  • webapi鉴权使用token令牌

    千次阅读 2018-07-08 22:51:14
    一为什么使用Token验证:在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认 证,那么这就需要用户提供一些信息,比如...
  • Java令牌Token登录与退出

    千次阅读 2020-05-25 20:34:15
    Java令牌Token登录与退出 Token 之前的博客已经介绍了各种登录的方式,现在直接介绍一种现在比较流行的登录方式,无状态登录,只需要客户端携带令牌就能登陆,服务器不再存储登录状态。突然粉丝量爆棚,开心死了,...
  • TP5.1使用JWT进行Token令牌生成与验证

    千次阅读 2019-08-05 16:24:21
    传统互联网项目在实现保持登录状态、退出登录、接口请求等功能时会使用...但是Token不会产生这些问题,服务器端对Token只有生成和验证操作,不会存放数据,针对前后端分离的项目,包括手机APP和当前热门的小程序的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 69,659
精华内容 27,863
关键字:

token令牌有什么用