使用JWT(JSON Web令牌)安装令牌的RESTful API到期

伊姆兰·汗(Imran Khan)

我将JWT用于RESTful API(用于移动设备的Laravel Web服务)。如何将令牌过期设置为永不过期,或者如何设置令牌过期的最佳实践?因为当前我需要在令牌过期时每次都获取令牌,所以任何人都可以遇到此问题或令牌过期的最佳解决方案。

米娜·阿巴迪(Mina Abadir)

没有什么可以使令牌永不过期的。但是,您可以将有效期延长到非常长的时间范围,例如1年。这是可能的,但是出于安全考虑,不建议这样做。

为了实现这一点,您需要配置两个部分,令牌刷新时间和令牌到期。

所以在 config/jwt.php

'refresh_ttl' => 29030400,  // Number of minutes in 1 year (12*4*7*24*60*60)

在创建令牌时,您可以传递以下内容

$tokenId    = base64_encode(mcrypt_create_iv(32, MCRYPT_DEV_URANDOM));
$issuedAt   = Carbon::now()->timestamp;
$notBefore  = $issuedAt;             //Adding 10 seconds
$expire     = $notBefore + 12*4*7*24*60*60;            // Adding 6 hours
    /*
    * Create the token as an array
    */
    $data = [
      'iat'  => $issuedAt,      // Issued at: time when the token was generated
      'jti'  => $tokenId,   // Json Token Id: an unique identifier for the token
      'iss'  => 'https://example.com',       // Issuer
      'nbf'  => $notBefore,        // Not before
      'exp'  => $expire,           // Expire
      'data' => [                  // Data related to the signed user
      'userId'   => Auth::user()->id, // userid from the users table
      ]
    ];

现在,您的令牌将永远不会在1年之前过期。并且您最多有1年的时间可以刷新它。当用户下次打开应用程序并验证令牌时,可以刷新它。您可以刷新令牌,如文档中提到这里我也建议您通过这个laracasts讨论

另外,我在StackOverflow上发现了这个问题,我认为这会有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用镜像API时,如何处理访问令牌到期

来自分类Dev

Vimeo API访问令牌到期

来自分类Dev

如何跨不同的API验证JSON Web令牌(JWT)?

来自分类Dev

如何延长到期时间Java JSON Web令牌?

来自分类Dev

使用Microsoft Graph令牌和Jwt Bearer令牌保护ASP.NET Core Web API

来自分类Dev

如何重置JWT令牌的到期时间?

来自分类Dev

在lumen jwt令牌中设置到期时间

来自分类Dev

Spring MVC + AngularJS + JWT令牌到期-HowTo

来自分类Dev

在lumen jwt令牌中设置到期时间

来自分类Dev

Spring MVC + AngularJS + JWT令牌到期-HowTo

来自分类Dev

API访问令牌的到期时间非常短

来自分类Dev

通过Gmail API的登录令牌的到期时间

来自分类Dev

使用JWT安全令牌访问REST API

来自分类Dev

如何使用jwt-go库验证JSON Web令牌?

来自分类Dev

如何使用OpenSSL Shell命令创建Json Web令牌(JWT)?

来自分类Dev

Jwt令牌始终返回401 .net Core 3.1 Web API

来自分类Dev

如何在Web Api C#中加密JWT令牌?

来自分类Dev

如何从外部发行的Json Web令牌中提取/解码到期时间

来自分类Dev

使用JwtAuthForWebAPI的Web APi2身份验证不接受JWT令牌

来自分类Dev

从 jwt 令牌中读取到期日期

来自分类Dev

如何使用System.IdentityModel.Tokens.Jwt包提取令牌到期时间

来自分类Dev

如何使用fastify-jwt在到期时间上签名令牌?

来自分类Dev

在不请求API的情况下检查令牌到期

来自分类Dev

Dosusign API 访问令牌延长到期时间

来自分类Dev

使用 Api 密钥的 Web Api 承载 JWT 令牌身份验证在令牌身份验证成功后的连续调用中失败

来自分类Dev

无法使用承载令牌访问AAD安全的Web API

来自分类Dev

如何在Web API中强制使用无效承载令牌?

来自分类Dev

无法使用承载令牌访问AAD安全的Web API

来自分类Dev

无法从AAD获取承载令牌以使用Web API

Related 相关文章

  1. 1

    使用镜像API时,如何处理访问令牌到期

  2. 2

    Vimeo API访问令牌到期

  3. 3

    如何跨不同的API验证JSON Web令牌(JWT)?

  4. 4

    如何延长到期时间Java JSON Web令牌?

  5. 5

    使用Microsoft Graph令牌和Jwt Bearer令牌保护ASP.NET Core Web API

  6. 6

    如何重置JWT令牌的到期时间?

  7. 7

    在lumen jwt令牌中设置到期时间

  8. 8

    Spring MVC + AngularJS + JWT令牌到期-HowTo

  9. 9

    在lumen jwt令牌中设置到期时间

  10. 10

    Spring MVC + AngularJS + JWT令牌到期-HowTo

  11. 11

    API访问令牌的到期时间非常短

  12. 12

    通过Gmail API的登录令牌的到期时间

  13. 13

    使用JWT安全令牌访问REST API

  14. 14

    如何使用jwt-go库验证JSON Web令牌?

  15. 15

    如何使用OpenSSL Shell命令创建Json Web令牌(JWT)?

  16. 16

    Jwt令牌始终返回401 .net Core 3.1 Web API

  17. 17

    如何在Web Api C#中加密JWT令牌?

  18. 18

    如何从外部发行的Json Web令牌中提取/解码到期时间

  19. 19

    使用JwtAuthForWebAPI的Web APi2身份验证不接受JWT令牌

  20. 20

    从 jwt 令牌中读取到期日期

  21. 21

    如何使用System.IdentityModel.Tokens.Jwt包提取令牌到期时间

  22. 22

    如何使用fastify-jwt在到期时间上签名令牌?

  23. 23

    在不请求API的情况下检查令牌到期

  24. 24

    Dosusign API 访问令牌延长到期时间

  25. 25

    使用 Api 密钥的 Web Api 承载 JWT 令牌身份验证在令牌身份验证成功后的连续调用中失败

  26. 26

    无法使用承载令牌访问AAD安全的Web API

  27. 27

    如何在Web API中强制使用无效承载令牌?

  28. 28

    无法使用承载令牌访问AAD安全的Web API

  29. 29

    无法从AAD获取承载令牌以使用Web API

热门标签

归档