详细信息:
我有两个示例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;
}
我的目的是创建一个凭据详细信息(如果不存在),并在第二个应用程序运行后也由第二个应用程序使用。上面的方法逻辑会进行检查,但还会为每个App创建全新的凭据。唯一的区别是我可以看到“保存者”部分。 如何强制第二个App抢夺/使用已存在的凭据?
答案 0 :(得分:2)
如何强制第二个App抢夺/使用已存在的凭据?
不能。 offical documentation的事实很清楚,““ [由PasswordVault
类表示的储物柜的内容是特定于应用程序或服务的。应用程序和服务无权访问与以下内容关联的凭据:其他应用或服务。”。
因此App2
无法访问App1
创建的证书,反之亦然。这是设计使然。