代码之家  ›  专栏  ›  技术社区  ›  nforss

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

  •  11
  • nforss  · 技术社区  · 9 年前

    我正在寻找一种正确、安全的方法来在Outlook加载项中存储第三方API的凭据。 This overview 在不同的存储选项中 在“设置”中存储凭据,但不存储在哪里,所以我认为“漫游设置”可以。然后我遇到了 this page 关于RoamingSettings的信息,它说这也不是正确的位置。

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

    2 回复  |  直到 9 年前
        1
  •  3
  •   Community CDub    8 年前

    我假设您无法为您的API实现另一个授权方案(基于令牌、cookie等),并且您被基本身份验证和 its issues 。如果您正在使用ASP。NET,有了所有可用的示例,可以很容易地添加另一种更适合web客户端的身份验证方案(如Office web加载项)。

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

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

    您还可以考虑这样一个事实,即您可以为来自同一域的web插件和api提供服务。它们都是web应用程序!

        2
  •  0
  •   Dmitry Streblechenko    9 年前

    您可以对其POP3/SMTP/IMAP4密码执行Outlook本身所做的操作-使用 CredRead / CredWrite Windows API函数。数据只能在用于加密数据的本地Windows帐户下解密,因此无法将其带到其他计算机上解密。

    我认为您无法从JavaScript访问这些函数。这是一个OWA加载项,而不是Outlook应用程序,是吗?