【问题标题】:R keyring package - my keyring has disappeared (maybe), what happened to it and what keyring do I have now?R 钥匙圈包 - 我的钥匙圈消失了(可能),它发生了什么事,我现在有什么钥匙圈?
【发布时间】:2021-04-05 21:04:06
【问题描述】:

几个月来,我一直在可靠地使用密钥环。突然之间,一堆脚本失败了,因为我的拉键代码没有返回任何内容。我有一个带密码的命名钥匙圈。好像没了。

当我运行 keyring::keyring_list 时,我确实有一些东西:

  keyring num_secrets locked
1                   9  FALSE

什么是“1”?我认为 9 是我拥有的秘密的数量。但我不知道如何访问它。我试过keyring::key_list(keyring = NAME) 使用 1, "1" 作为名称。

我原来的钥匙圈怎么了?如何解决问题?

编辑:当脚本通过批处理文件运行时,我收到此错误:

Error in b_wincred_i_get(target) : 
  Windows credential store error in 'get': Element not found.

Calls: source ... b_wincred_parse_keyring_credential -> rawToChar -> b_wincred_i_get
Execution halted

我发现一篇 SO 帖子 (Error when using R to get credentials from Windows Cred Vault) 指出我要确保凭据存在于 Windows 凭据中,我认为确实存在(“凭据”是密钥环的名称):

【问题讨论】:

    标签: r python-keyring


    【解决方案1】:

    我遇到了完全相同的问题,这似乎是 keyring 包的错误。我提交了一个问题here,如果我收到开发人员的回复,我会更新这个答案。

    现在:

    不要理会1,这只是keyring_list() 返回的data.frame 的行号。密钥环名称为空。尽管通过包设置密钥确实有效,但现有密钥似乎不再有效。

    您也可能知道,数字 9 是您在“通用凭据”下拥有的凭据数量。所以它有点工作,但检索失败。

    【讨论】:

    • 我当时也在 GH 讨论过它。得出结论,这不是 pkg,而是我的 Windows 凭据管理器出现了某种问题并将其删除。现在我保留了凭据的备份,以防再次发生这种情况。
    • 啊,但解决方案是oskeyring 包,请参阅github.com/r-lib/keyring/issues/121 :) 我会尽快更新答案,所以我可以在这里发布可重现的代码.
    • 我不明白他为什么建议访问其他软件创建的戒指,你不是说你这样做了吗?尽管如此,我愿意改变。很快,我们的主要方法将切换到 Azure Key Vault,因为我们将一些进程移动到云中,但当我进行交互工作或开发/测试时,我仍会将密钥环进程保留在本地。
    【解决方案2】:

    我最终不得不重新创建环,并创建一个备份密钥环的过程,以便在再次发生这种情况时可以恢复它。

    【讨论】:

      猜你喜欢
      • 2017-06-11
      • 2011-05-24
      • 2020-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多