如何正确地将新令牌分配给 Windows 凭据?我在 macos 中做了同样的事情:将令牌放入钥匙串访问中并且它可以工作,不再需要手动填写用户/密码。
\n在 Windows 10 中,我点击了此链接:\n对密码身份验证的支持已被删除。请改用个人访问令牌
\n在本地电脑步骤:
\n\n\n对于 Windows 操作系统 \xe2\xa4\xb4 从控制面板转到凭据管理器 =>\nWindows 凭据 => 查找 git:https://github.com => 编辑 => 打开\n密码替换为您的 GitHub 个人访问令牌 = > 你\n完成了
\n如果您没有\xe2\x80\x99t 找到 git: https://github.com => 单击添加通用\ncredential => Internet 地址将为 git: https://github.com并且您\n需要输入您的用户名和密码将是您的 GitHub\n个人访问令牌 => 单击“确定”即可完成
\n
一切都已设置,但是当我执行“git push”或“fetch”等操作时,它会不断一次又一次地询问用户/密码。与我在 mac 中设置的相反,一旦它位于钥匙串中,git 将自动获取该密码,而无需一次又一次询问。
\nauthentication github windows-credential-provider personal-access-token
我最近发现了windows-rs框架,并一直在寻求通过实现其ICredentialProvider COM 接口来在 Rust 中构建Windows 凭据提供程序。
我一直在使用现有问题之一中汇总的信息进行概念验证实现,但我不确定如何实际将编译后的 Rust 公开为正确的 DLL,然后向 Windows 系统注册。
use std::cell::RefCell;
use windows::{
core::implement,
Win32::UI::Shell::{ICredentialProvider, ICredentialProvider_Impl},
};
fn main() -> windows::core::Result<()> {
#[implement(ICredentialProvider)]
struct Provider {
mutable_state: RefCell<u32>,
}
impl Provider {
fn new() -> Self {
Self {
mutable_state: RefCell::new(0),
}
}
}
impl ICredentialProvider_Impl for Provider {
fn Advise(
&self,
pcpe: &core::option::Option<windows::Win32::UI::Shell::ICredentialProviderEvents>,
upadvisecontext: usize,
) -> windows::core::Result<()> {
*self.mutable_state.borrow_mut() = 42;
todo!();
}
fn GetCredentialAt(
&self,
dwindex: u32,
) …Run Code Online (Sandbox Code Playgroud)