[英]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
存储不同类型的“键”,因此它们具有AccessKey
, Password
等。
一种替代方法是具有不同的Resource
值,例如,针对不同的身份验证提供程序(如AppName.Facebook
, AppName.Local
等),使用UserName
以及使用用户名和密码作为密码或访问令牌。
最后-由于不受Password
存储的字符串类型的限制,因此可以创建包含多个属性的复杂类型,例如在存储到密码库之前使用JSON对其进行序列化。 这样,您可以通过一个条目存储更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.