繁体   English   中英

如何存储其他数据或将其与PasswordCredential相关联?

[英]How do I store or associate additional data with a PasswordCredential?

我的UWP应用程序使用多个帐户登录到多个Web服务。 每一个都包含一个URL,密码和用户名以及其他信息,例如开发人员密钥等。我想将它们安全地存储为分配给Windows用户帐户的漫游设置。

UWP的凭据储物柜似乎可以安全地存储凭据部分,用户名和密码。 它也与用户漫游,我可以忍受其10个凭证存储限制( Credential Locker ),不幸的是,似乎没有一个明确的方法来使用唯一ID将其包含或与我的帐户相关联:

//
//Add a credential to PasswordVault by supplying resource, username, and password
//
Windows.Security.Credentials.PasswordVault vault = new Windows.Security.Credentials.PasswordVault();
PasswordCredential cred = new PasswordCredential(InputResourceValue.Text, InputUserNameValue.Text, InputPasswordValue.Password);
vault.Add(cred);

PasswordVault需要用户名,资源字符串和密码。 尽管我可以使用用户名检索凭据,但不能保证它是唯一的。 尽管资源密钥是唯一的,但尚不清楚它是否标识实际的凭证或其容器。

有关如何解决此问题的任何想法?

不同的应用程序为此使用不同的方法。 某些应用具有单个资源名称(如AppName ,然后使用UserName存储不同类型的“键”,因此它们具有AccessKeyPassword等。

一种替代方法是具有不同的Resource值,例如,针对不同的身份验证提供程序(如AppName.FacebookAppName.Local等),使用UserName以及使用用户名和密码作为密码或访问令牌。

最后-由于不受Password存储的字符串类型的限制,因此可以创建包含多个属性的复杂类型,例如在存储到密码库之前使用JSON对其进行序列化。 这样,您可以通过一个条目存储更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM