如何撤销函数调用访问密钥?

Posted

技术标签:

【中文标题】如何撤销函数调用访问密钥?【英文标题】:How to revoke a function-call access key? 【发布时间】:2021-07-25 21:46:07 【问题描述】:

“访问密钥在 trie 状态下存储为 account_id,public_key。” 如何从区块链中撤销函数调用访问密钥?

【问题讨论】:

【参考方案1】:

以下是删除example.testnet 的访问密钥的方法:

const  KeyPair, keyStore, connect  = require("near-api-js");

const CREDENTIALS_DIR = "~/.near-credentials";
const ACCOUNT_ID = "example.testnet";
const PUBLIC_KEY = "8hSHprDq2StXwMtNd43wDTXQYsjXcD4MJTXQYsjXcc";
const keyStore = new keyStores.UnencryptedFileSystemKeyStore(CREDENTIALS_DIR);

const config = 
  keyStore,
  networkId: "testnet",
  nodeUrl: "https://rpc.testnet.near.org",
;

deleteAccessKey(ACCOUNT_ID, PUBLIC_KEY);

async function deleteAccessKey(accountId, publicKey) 
  const near = await connect(config);
  const account = await near.account(accountId);
  await account.deleteKey(publicKey);

您需要确保您有本地存储的帐户凭据才能完成此功能。通过运行以下near-cli 命令来执行此操作:

near login

有关轮换访问密钥的更多信息,请查看此文档:

https://docs.near.org/docs/api/naj-cookbook#access-key-rotation

【讨论】:

【参考方案2】:

您可以通过发送DeleteKey 事务来删除访问密钥。更多交易详情,请查看this page。

【讨论】:

以上是关于如何撤销函数调用访问密钥?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 lambda 函数调用秘密管理器

JS中如何在函数内部访问调用本函数的元素

如何访问已调用 setState 的函数主体中的更新状态?

openssl 中调用哪个函数实现16字节des密钥cbc方式加密数据?

如何通过php在访问中调用模块函数?

如何在不调用渲染函数的情况下访问 Context 的值? [复制]