createAccessToken

首发版本:3.00.6.3

语法

createAccessToken(userId, [expire], [description])

详情

为指定用户创建可用于登录的持久化访问凭据(access token)。

普通用户只能为自己创建凭据;管理员可以为其他用户创建凭据。

注意:

  • 完整凭据仅在创建时返回一次,之后无法查询或找回,请妥善保存。

  • 修改用户密码不会自动撤销其访问凭据;删除用户会清除其全部访问凭据。

  • 同一用户同时持有的有效凭据数量由配置项 maxAccessTokensPerUser 限制。

  • 通过 createAccessToken 创建的访问凭据不支持使用 backupSettings 和 restoreSettings 进行备份和恢复。

  • 使用 createAccessToken 创建访问凭据后,Server 版本回退限制如下:

    • 如曾为 admin 创建访问凭据,则不支持回退至 3.00.6.3 之前的版本。

    • 如仅为其他用户创建过访问凭据,回退至 3.00.6.3 之前的版本前必须删除所有曾拥有访问凭据的用户。

参数

userId STRING 标量,表示用户名。

expire 可选参数,DATETIME 标量,表示过期时间。默认不设置过期时间。

description 可选参数,STRING 标量,表示备注。默认为空。

返回值

STRING->ANY 类型的字典,包含以下键:

  • tokenId:凭据标识。

  • token:完整凭据。

例子

创建一条有时限的凭据。

凭据标识和完整凭据每次生成时不同;以下输出仅示意返回字典的结构。

// 获取当前用户名
accountName = getCurrentSessionAndUser()[1]

// 创建 access token
accessCredential = createAccessToken(userId=accountName, expire=2030.12.31T23:59:59, description="MCP client")
accessCredential
/* output:
tokenId->2aff381ac39b
token-><access token returned at creation>
*/

相关函数:revokeAccessToken, listAccessTokens, authenticateByTicket