c# - 在多个 Windows 应用商店应用程序之间共享 Windows 凭据 (Windows 10)

标签 c# uwp windows-10

详细信息:

  • 目标版本:Windows 10 1803
  • 最低版本:Windows 10 创意者更新
  • nuget:Microsoft.NETCore.UniversalWindowsPlatform v6.1.5

我有两个示例 Uwp 应用程序。两者都有使用以下方法:

private string GetPasswordCredential()
{
    PasswordVault passwordVault = new PasswordVault();
    PasswordCredential passwordCredential = null;

    try
    {
        var passwordCredentials = new List<PasswordCredential>(passwordVault.RetrieveAll());
        if (passwordCredentials.Any(c => c.Resource.Equals("testResource") && c.UserName.Equals("testUserName")))
        {
            passwordCredential = passwordVault.Retrieve(resource: "testResource", userName: "testUserName");
        }
    }
    catch (Exception exception)
    {
        var message = exception.Message;
    }

    if (passwordCredential == null)
    {
        // create credential deteils
        passwordCredential = new PasswordCredential(resource: "testResource", userName: "testUserName", password: "testPassword");

        // add credential details to password vault
        passwordVault.Add(passwordCredential);
    }

    return passwordCredential.Password;
}

问题是,该方法为每个应用程序创建唯一的凭据: enter image description here

我的目标是创建一个凭据详细信息(如果不存在),并在第二个应用程序运行后也由第二个应用程序使用它。上面的方法逻辑进行检查,同时也为每个应用程序创建全新的凭证。唯一的区别是我可以看到“保存者”部分。 如何强制第二个应用程序获取/使用已经存在的凭据?

最佳答案

How can I force second App to grab/use already existed Credential?

你不能。 offical documentation非常清楚这样一个事实:“储物柜的内容[由 PasswordVault 类表示]是特定于应用程序或服务的。应用程序和服务无法访问与其他应用程序或服务关联的凭据。服务。”。

因此,App2 无法访问由 App1 创建的凭据,反之亦然。这是设计使然。

关于c# - 在多个 Windows 应用商店应用程序之间共享 Windows 凭据 (Windows 10),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51843348/

相关文章:

c# - 位置 C# 位置文本

c# - 有效地从大型列表中删除重复项?

c# - 带有按钮的 ListView 中的 UWP/MVVM 数据绑定(bind)不起作用

c# - VisualStateGroup的ViewModel方法事件

windows-10 - 安装WSL2和apache2后无法访问该站点

c# - 为什么 Azure SignalR 不发送 Azure Functions 发布的消息?

c# - 如何在 C# Metro 应用程序中停止异步任务

c# - EmguCV 和 UWP - 无法解析程序集或 Windows 元数据文件 'System.Windows.Forms.dll' (Emgu.CV.UI)

C# 如何使 UWP XAML 按钮在悬停时不显示边框

postgresql - 无法重新安装 PostgreSQL,因为 Windows 认为它​​仍然已安装