问题标签 [credential-manager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1100 浏览

git - 用于通用远程存储库的 MacOS SourceTree 清除凭证助手

系统:

MacOS Catalina 10.15.5 SourceTree v4.0.1

问题:

我有一个从 Github 克隆的本地存储库。该存储库也存在于另一个远程(它实际上是 Azure 函数的 git 存储库,因此不是其他常见的嫌疑人之一,例如 Bitbucket),我只是试图设置该远程,以便我可以获取/推送/等到它.

我在以前的机器上做过这个,并且我正在重新设置以在新的 MacBook 上进行开发,所以这是我以前做过的事情,但我只是犯了一个简单的复制/粘贴错误,我可以' t 似乎撤消。

在 SourceTree 中,我去菜单添加一个远程,只输入远程 URL:

在此处输入图像描述

在我同意之后,我去了遥控器列表,右键单击列表中的新添加,并尝试获取。这提示我输入用户名,然后输入密码。我错误地复制/粘贴了两个值之一,但现在似乎卡住了,无法简单地删除它。

现在,当我尝试使用该特定遥控器获取(或做任何事情)时,我不断收到 403 Forbidden 响应。

我在这里搜索了大多数关于从 Keychain Access 中删除单个条目以及从Application Support中删除文件的其他 SO 帖子。

当我直接从钥匙串中删除密钥时,我打开了 SourceTree,所以这可能会产生影响,但是在删除它们并尝试再次从远程获取之后,我只是得到了与以前相同的 403 错误(而不是它要求凭据)。

清除 SourceTree 的 Application Support 文件夹后也发生了同样的情况。它重新询问了我的 Github 遥控器凭据,但它没有询问我关于新遥控器的任何内容。当我尝试获取时,我得到了和以前一样的 403 错误。

在 Embedded Git 和 System Git 之间切换似乎完全没有效果。

我已经绕过喇叭并试图解决这个问题(此时添加遥控器绝对荒谬的 3 小时)并且还尝试过:

  • 丢弃并重新安装 Sourcetree
  • 使用security命令行工具(Keychain 的 CLI)来查看是否可以在任何地方找到对挂在边缘的遥控器的隐藏引用
  • 摆弄凭证助手的东西(主要是把东西扔在墙上,没有东西粘着)
  • 重新启动机器

但是,我绝对没有尝试再次产生用户名/密码提示,并且我总是收到 403。

我最好的猜测是,这在某种程度上与-c credential.helper=sourcetreeSourcetree 最初发出的 git 命令中的位有关。是否有一个单独的凭证存储来保存我的旧凭证?

一些测试似乎表明情况确实如此。我还有另一个托管相同存储库的远程设备,当我设置它时(用户名/密码没有混淆),然后删除保存到钥匙串的凭据,随后的提取不会询问我的凭据. 但是,在 *?!$ 他们在哪里?(以及如何清除它们??)

0 投票
1 回答
112 浏览

windows - 获取、拉取、合并或推送对 GitHub 的更改 gitbash 给出 {git: 'credential-cache' is not a git command。请参阅“git -- 帮助”。}

这个错误

git: 'credential-cache' 不是 git 命令。请参阅“git --help”。

每次我尝试与 GitHub 交互时都会显示:
每次我尝试与 github 交互时都会显示此错误({git:'credential-cache' 不是 git 命令。请参阅 'git --help'。})

为了摆脱每次获取、拉取、合并和推送更改到 GitHub 时输入我的 GitHub idname 和密码的痛苦,我想到了使用
git config --global credential.helper cache命令来存储 idname 和密码。使用它后,我了解到,当我使用 Windows 时,我必须使用manager而不是cache执行相同的任务。但是,每次我尝试与 GitHub 交互时都会显示上述错误消息。

0 投票
1 回答
37 浏览

c++ - 无法在 Windows 凭据提供程序中使用非 ascii 字符(口音)

我正在使用 Microsoft 的“Sample All UI”示例创建一个 Windows 凭据提供程序。

作为讲法语的人,我需要使用这样的口音:“éàèê”。我所有的字符串都是widechar字符串(语法:L“Numéro de téléphone”),我使用的所有字符串函数都是widechar版本(wcsdup,wcscpy ...)

但是当我加载我的提供程序时,重音会生成为一组随机字符,如 © 或 Ã。它显然看起来像一个编码错误,但我找不到如何。

凭据提供程序是否支持特殊字符?我知道法语中的默认凭据提供程序会显示重音符号。

非常感谢。

0 投票
1 回答
158 浏览

c++ - 从 Windows 10 上本地用户启动的进程获取域用户凭据的句柄

背景:

  • 计算机mycomputer正在运行 Windows 10 并已加入域mydomain.com
  • 用户使用本地帐户登录mycomputer\localusermycomputer
  • 用户也知道域帐户的密码mydomain\domainuser
  • 服务主体名称myprotocol/domainuser在 Active Directory 中注册并映射到域帐户mydomain\domainuser
  • 不允许本地用户mycomputer\localusermydomain\domainuser.

用户希望在本地帐户下启动服务器进程,然后使用域帐户来验证与 Kerberos 的传入连接。

我想编写该服务器的代码。

客户端代码:

客户端代码很简单,由一个调用组成,AcquireCredentialsHandle然后调用InitializeSecurityContext

请注意代码片段中字符串的简化用法。必须处理的现实wchar_tconst正确性有些丑陋。

另请注意,如果适当的凭据存储在控制面板的凭据管理器中,则此代码在由本地用户启动时有效 - 即使用主机名domainuser(原文如此。)

服务器代码:

我已经有一个代码可以在进程启动时工作mydomain\domainuser

但是,当服务器启动时mycomputer\localuser,调用AcquireCredentialsHandle失败并出现代码SEC_E_NO_CREDENTIALS

  • 我尝试将该调用的第一个参数修改为"myprotocol/domainuser","domainuser""mydomain\domainuser"什至"domainuser@mydomain.com".
  • mycomputer我尝试使用主机名甚至在控制面板的凭据管理器中添加所需的凭据domainuser

mydomain\domainuser在由 启动的进程中,我可以做些什么来获取凭据句柄mycomputer\localuser

编译代码片段:

0 投票
0 回答
824 浏览

git - 为什么 Git 凭证管理器需要单独实现每个服务?

背景:我们在办公室有一个本地 Gitea 服务器。我刚开始在启用Git Credential Manager Core的情况下使用它。令人惊讶的是(对我来说),每次我想要fetchpush(结束https)时我都必须重新输入密码。

在阅读了一些 GCM Core 文档并找到了一个请求 Gitea 支持的拉取请求之后,在我看来这是因为根本没有实现 Gitea 支持。

https现在,这就是我的问题出现的地方:无论连接到哪个服务,我都认为它的工作原理是一样的。如果凭据管理器所要做的只是安全地存储我的凭据以供以后使用,那么我尝试推送到 Gitea 或 Github 或其他服务有什么关系呢?


经过一些测试,我发现即使在

所以这甚至不是 GCM Core 的问题。为什么 Git 不缓存信息?


哦,如果这很重要,我正在使用适用于 Windows 的 Git(在 Windows 10 上)。

0 投票
2 回答
656 浏览

git - git无法在弹出窗口登录,无法使用存储的密码

今天我的大脑不知何故被搞砸了,所以我将 git 升级到了 2.29.1.windows.1 版本。现在每次我尝试“git pull”或“git clone”等时,它都会显示一个弹出窗口,如下所示。我这里有两个问题。

首先,即使我输入了正确的用户名和密码,它仍然显示“登录失败,使用 ctrl+c 取消基本凭据提示”。

其次,无论我将 credential.helper 设置为 manager 还是 store,它总是弹出窗口。但是,密码实际上是存储的。(如果使用存储,则为 ~/.git-credential,如果使用管理器,则在凭据管理器中)。

在此处输入图像描述

0 投票
1 回答
145 浏览

c# - AdysTech/CredentialManager 删除凭据问题

我是 stackoverflow 和 C# 的新手。我最近开始发布简单的 WinForm 应用程序,但我还有很长的路要走......

我编写了一个应用程序,它使用上述 nuget 包来删除本地存储的所有凭据。

我可以使用CredentialManager.RemoveCredentials()方法来删除Type: Generic credentials

但我无法删除通用证书域密码凭据类型。它抛出一个通用异常,表示无法删除凭据。正如我所说我是 c# 的新手,我错过了什么吗?

提前致谢

安杰洛

在此处输入图像描述

0 投票
1 回答
837 浏览

java - 使用 Java 中的 windows 凭据管理器获取凭据以在 git 和其他服务中进行身份验证

目前我们将密码存储在纯文本文件中以登录 git 和其他服务。我们希望最终摆脱它并使用 Windows 凭据管理器。我们面临的唯一问题是我似乎没有找到解决方案来做到这一点。

我已经看过以下主题:

但对我来说,他们没有给我明确的答案,使用哪个 api。如果你能帮助我访问这个凭证管理器,那就太棒了。

0 投票
1 回答
211 浏览

sql-server - 使用凭据管理器通过 VPN 进行 SQL Server Windows 身份验证

我正在尝试使用基于 VPN 的 Windows 身份验证连接到远程 SQL Server。我对此进行了一些研究,并找到了两种方法来实现这一点 从这里

第一种方法效果很好

runas /netonly /user:domain\username ssms.exe

但根据那里的第二个答案,它也可以通过 Windows 凭据管理器来实现。但这似乎对我不起作用。

我已在凭据管理器中设置这些凭据

SSMS 中的 SQL Server 实例看起来像这样

但这不起作用。我在这里做错了什么?

0 投票
1 回答
37 浏览

git - 为什么我可以在不登录的情况下以不同的 user.name 和 user.email 推送到远程?

我首先在 Windows 的凭据管理器中删除了与 git 相关的所有凭据,将我的 user.name 和 user.email 更改为 repo 中的另一个用户,然后推送到远程。然后 Git 要求我通过浏览器登录。我单击了登录按钮,出现的浏览器选项卡告诉我身份验证立即成功,而没有要求我输入新用户的密码。当我在 Github 上检查提交历史时,它显示提交是由新用户(我将 user.name 更改为的用户)进行的,但该用户从未登录过我的计算机。这怎么可能?它与ssh有关吗?但我只使用 https 进行推拉。为什么新用户可以推送到我的仓库?我没有加他为我的合作者。