如何在Outlook加载项中存储凭据

时间:2016-01-29 10:21:36

标签: javascript security outlook-web-addins

我正在寻找在Outlook加载项中存储第三方API凭据的正确,安全的方法。 This overview不同的存储选项只会说来在设置中存储凭据,而不是将它们放在哪里,所以我假设RoamingSettings没问题。然后我遇到了有关RoamingSettings的信息this page,其中说它也不是正确的位置。

然后问题变成:什么 正确的地方?我应该构建自己的存储解决方案并在文件或cookie中存储/加密凭据吗?这也感觉不太安全,因为我们正在讨论基本上是在iframe中运行的Web应用程序。

2 个答案:

答案 0 :(得分:2)

我假设您无法为您的API实施其他授权方案(基于令牌,Cookie等),而您仍然无法使用基本身份验证和its issues。如果您使用的是ASP.NET,并且所有示例都可用,则可以非常轻松地添加另一个更适合Web客户端的身份验证方案(例如Office Web加载项)。

话虽如此,对我来说,最好的选择是使用HTML5存储或cookie存储(如果浏览器没有实现)来存储您的凭据。

该应用程序是iFramed的事实并不是什么大不了的事。这些存储(HTML5:sessionStorage / localStorage)依赖于域分离,这意味着您将放置凭据的存储槽将不会被其他应用程序看到,即使是那些生活在父iFrame上的应用程序。

您可能还会考虑以下事实:您可以在同一个域中提供Web加载项和api。它们都是Web应用程序!

答案 1 :(得分:0)

您可以执行Outlook本身为其POP3 / SMTP / IMAP4密码执行的操作 - 使用CredRead / CredWrite Windows API函数。数据只能在用于加密数据的本地Windows帐户下解密,因此不能将其带到另一台计算机并解密。

我认为您无法从JavaScript访问这些功能。这是针对OWA插件,而不是Outlook应用程序,是吗?