Intellij Idea GitHub访问令牌存储在哪里,是否有访问设置存储库的替代方案?

fnatzsnv  于 2023-10-15  发布在  Git
关注(0)|答案(1)|浏览(155)

当你想使用设置存储库时,你必须提供一个GitHub访问令牌。它存储在哪个文件中?是否有提供访问令牌的替代方案,该访问令牌不会持久化敏感数据,例如输入每个IntelliJ会话的用户名和密码(即,从打开到关闭IntelliJ)?
(已在support site上询问,但未得到答复。)

lsmd5eda

lsmd5eda1#

GitHub帐户存储在

%IDEA_HOME%\config\options\github.xml

但是,敏感信息(如访问令牌或登录数据)存储在特定文件下。
您可以通过以下方式自定义IDEA存储它们的方式

例如,使用预定义的名称,您会发现

%IDEA_HOME%\config\c.kdbx
%IDEA_HOME%\config\c.pwd

c.kdbx是一个KeePass文件。
c.pwd通常是Crypt32加密的文件,仅在Windows上。
Crypt32.dll是实现CryptoAPI中的许多证书和加密消息传递功能的模块

decrypted = createBuiltInOrCrypt32EncryptionSupport(SystemInfo.isWindows)...
...

internal fun createBuiltInOrCrypt32EncryptionSupport(isCrypt32: Boolean): EncryptionSupport {
  return when {
    isCrypt32 -> {
      if (!SystemInfo.isWindows) {
        throw IllegalArgumentException("Crypt32 encryption is supported only on Windows")
      }

      WindowsCrypt32EncryptionSupport(builtInEncryptionKey)
      ...

您可以在mainKey.kt上查看平台如何管理c.pwd文件
您可以在KeePassCredentialStore.kt上查看平台如何管理c.kdbx文件
最终,如果您选择 “不保存,重启后忘记密码”,则所有内容将仅在当前会话的内存中。
我不为JetBrains工作,所以如果他们想编辑我的答案,请随意。

相关问题