繁体   English   中英

在Windows Phone和商店应用中测试的用户名/密码

[英]Username/Password for testing in windows phone and store apps

我已经编写了一个小型库,可通过https链接获取受密码保护的数据。 该库在Windows 8.1,Windows Phone 8和Windows Store 8.1的桌面下工作。 我现在需要完成我的测试工具。 该项目将很快出现在github上。

为了正确测试,我需要一个用户名/密码。 由于这是开源的,所以我不想(显然)将我的用户名/密码存储在那里。 当针对桌面应用程序运行时,我倾向于使用Windows提供的密码存储(Credential Manager控制面板,存储在通用凭据下。此方法工作正常。代码会扫描凭据缓存以查找所需的内容,然后加载并运行测试。

但是Windows Phone或Windows Store的测试呢? 如何安全地缓存这样的用户名/密码,以便我的代码仍然可以公开? 我已经开始考虑将一个特殊的空文件放入源代码管理。 在构建过程中会寻找此文件的实际版本,如果找到该文件,则将其复制(这是某种资源文件),然后在其中输入用户名和密码。 等等。

我为此项目使用VS2013和MSTest。

别人如何解决这个问题? 提前谢谢了!

对于我在GitHub上获得的一些其余客户端库,它们需要一个API密钥,我已经将凭证仅存储在源树之外的已知位置,但是在运行时由单元测试加载。 这使它成为我们的源代码控制,允许其他人提供自己的密钥来运行单元测试,并且非常简单。 可以针对您提到的各种平台的独特存储需求来推广这种方法,但是我只需要在平直的窗口上使用它。

单元测试项目中的示例

编辑在商店和电话应用程序上,您对文件系统的访问权限有限。 您将需要使用IsolatedStorage或将凭据视为测试程序集中的嵌入式资源。 我发现后者更容易。

为了使您的凭据不受GitHub的影响,您可以将凭据添加为嵌入式资源文件,然后告诉git忽略它 下载了您的代码的人将无法编译它,除非提供了上述文件,但这仍然是您想要的。 通过构建前/构建后事件可以实现类似的目的。 从已知位置的预构建中复制资源,然后删除后构建(确保后构建设置为始终运行)。

您可以使用PasswordVault来存储Windows应用商店应用程序(Windows 8.1)的用户名和密码。 可以看到控制面板的凭据管理器。

在Windows 8中保存敏感数据的最佳实践

对于WP8,没有这样的东西,因此最好使用一些加密将其存储在隔离的存储中。

暂无
暂无

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

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