Access token 将AccessToken链接到环回中的用户

Access token 将AccessToken链接到环回中的用户,access-token,strongloop,loopback,Access Token,Strongloop,Loopback,我想在访问令牌中添加一个自定义属性(expireAt),以便MongoDB使用该属性在访问令牌过期时自动删除过期的访问令牌 使用AccessToken模型创建访问令牌时添加自定义属性效果良好: const ttl = 600; const expireAt = new Date(); expireAt.setSeconds(expireAt.getSeconds() + ttl); const token = await AccessToken.create({ ttl, expireAt

我想在访问令牌中添加一个自定义属性(
expireAt
),以便MongoDB使用该属性在访问令牌过期时自动删除过期的访问令牌

使用
AccessToken
模型创建访问令牌时添加自定义属性效果良好:

const ttl = 600;

const expireAt = new Date();
expireAt.setSeconds(expireAt.getSeconds() + ttl);

const token = await AccessToken.create({ ttl, expireAt });
但是,当我要为用户创建访问令牌时,我无法在创建令牌时添加自定义属性
exprieAt
,因此我必须先创建,然后更新它:

const ttl = 600;

const expireAt = new Date();
expireAt.setSeconds(expireAt.getSeconds() + ttl);

// Create the access token for the user
const token = await user.createAccessToken(options);
// Update token to set the custom date and time to expire
token.expireAt = expireAt;
token.save();

// Return the token together with the user data
return Object.assign({}, token.toJSON(), { user });

是否有一种方法可以使用自定义属性为用户创建令牌(使用实例方法或模型方法都可以),而无需执行两个步骤-创建和更新?

因此,
AccessToken
模型似乎通过
userId
属性(ref:)与用户建立了关系

要将令牌链接到用户,我们只需要传入值
userId

AccessToken.create({ ttl, expireAt, userId });
AccessToken.create({ ttl, expireAt, userId });