Node.js 环回上的永久令牌

Node.js 环回上的永久令牌,node.js,loopbackjs,strongloop,Node.js,Loopbackjs,Strongloop,我正在使用环回API构建一个应用程序,它将被iPhone应用程序使用。有一个到MySQL数据库的连接,在这里我运行一些查询以获得一些结果并在API上公开 端点包含一个ACL,该ACL只允许经过身份验证的用户执行任何操作,包括GET操作。因此,基本上需要使用?access_令牌查询字符串来完成请求 我想设置一个令牌,它可以保存在MySQL数据库上,并且可以在API上“永远”使用 我不确定我问的问题是否正确,但如果这不是解决这个问题的方法,那会是什么 我的主要观点是,我需要使用令牌对请求进行身份验证

我正在使用环回API构建一个应用程序,它将被iPhone应用程序使用。有一个到MySQL数据库的连接,在这里我运行一些查询以获得一些结果并在API上公开

  • 端点包含一个ACL,该ACL只允许经过身份验证的用户执行任何操作,包括GET操作。因此,基本上需要使用?access_令牌查询字符串来完成请求
  • 我想设置一个令牌,它可以保存在MySQL数据库上,并且可以在API上“永远”使用
  • 我不确定我问的问题是否正确,但如果这不是解决这个问题的方法,那会是什么

    我的主要观点是,我需要使用令牌对请求进行身份验证,但我不想在设置令牌后丢失它


    感谢您的帮助。谢谢

    您可以在iOS应用程序发送的凭证json中传递
    ttl
    ,在本例中,令牌将有效60秒,只需使用较高的值使令牌“永久”:

    或者创建一个before remote方法来更改
    ttl
    属性,请查看本文:


    您可以在iOS应用程序发送的凭证json中传递
    ttl
    ,在本例中,令牌将有效60秒,只需使用较高的值使令牌“永久”:

    或者创建一个before remote方法来更改
    ttl
    属性,请查看本文:


    我将
    TTL
    设置为最长1年,但我将
    创建的
    字段设置为未来很长的时间,例如
    2112-10-29 00:00:00-04
    。这使得代币从现在起一个世纪后过期。

    我将
    TTL
    设置为最长1年,但我将
    创建的
    字段设置为未来很长的一段时间,例如
    2112-10-29 00:00-04
    。这将使令牌从现在起一个世纪后过期。

    默认情况下,最大令牌ttl为1年。幸运的是,Loopback有一个选项允许您创建永久访问令牌:

    allowEternalTokens
    Boolean允许永不过期的访问令牌

    如果使用默认用户模型,可以在server/model-config.json中启用它:

    "User": {
      "dataSource": "db",
      "options": {
        "validateUpsert": true,
        "allowEternalTokens": true
      }
    },
    
    然后在登录时,将
    ttl
    设置为
    -1

    请注意,每次登录(
    User.login
    )时,您的令牌都将替换为新令牌。因此,如果要重用相同的访问令牌,请只登录一次。您可以从AccessToken模型(或直接从数据库)获取现有的访问令牌

    如果您有自定义用户模型,则可以直接在模型定义文件中设置
    allowEternalTokens
    。此外,如果您有自定义用户模型,则还需要更新AccessToken模型(内置模型或自定义模型,如果有)的
    关系,以指向自定义用户模型


    有关自定义用户/访问令牌型号的更多信息,请参见此处:

    默认情况下,最大令牌ttl为1年。幸运的是,Loopback有一个选项允许您创建永久访问令牌:

    allowEternalTokens
    Boolean允许永不过期的访问令牌

    如果使用默认用户模型,可以在server/model-config.json中启用它:

    "User": {
      "dataSource": "db",
      "options": {
        "validateUpsert": true,
        "allowEternalTokens": true
      }
    },
    
    然后在登录时,将
    ttl
    设置为
    -1

    请注意,每次登录(
    User.login
    )时,您的令牌都将替换为新令牌。因此,如果要重用相同的访问令牌,请只登录一次。您可以从AccessToken模型(或直接从数据库)获取现有的访问令牌

    如果您有自定义用户模型,则可以直接在模型定义文件中设置
    allowEternalTokens
    。此外,如果您有自定义用户模型,则还需要更新AccessToken模型(内置模型或自定义模型,如果有)的
    关系,以指向自定义用户模型


    有关自定义用户/访问令牌模型的更多信息,请点击此处:

    谢谢Ismael!我使用了这个解决方案。不过,您最多可以设置1年。非常感谢!谢谢伊斯梅尔!我使用了这个解决方案。不过,您最多可以设置1年。非常感谢!可能重复:可能重复: