【问题标题】:Get Azure Active Directory token from an electron app从电子应用程序获取 Azure Active Directory 令牌
【发布时间】:2017-07-07 14:39:57
【问题描述】:

从电子应用程序获取 AAD 令牌的最佳方式是什么?

Microsoft 有 2 个 javascript 身份验证库:adal.jsmsal.js。 两者都是为浏览器设计的,而不是原生的 Electron 应用程序(例如 - AAD 不允许将 file:/// 方案作为回复 URL)。

听起来像一个长期的解决方案是本机 AAD 包(如 Microsoft 为 Apache Cordova 构建的),但由于这可能不会很快发生,最好的短期选择是什么?

【问题讨论】:

    标签: electron azure-active-directory adal


    【解决方案1】:

    Azure Storage Explorer 是一个很好的 Electron 应用程序示例。它甚至允许同时登录多个 AAD 帐户。

    您或许可以查看应用的开发工具中发生了什么。我看了一圈,看起来它使用adal-node npm 包而不是基于浏览器的 js 库。

    它看起来也使用授权代码流来获取令牌。

    【讨论】:

    • 感谢@paul-lucas 的建议!我正在浏览 Azure 存储资源管理器源代码:github.com/Azure/deco。对于我的生活,我无法弄清楚这是如何使用 AAD 进行身份验证的。知道在哪里处理吗?对于adal-node,打包在电子应用程序中时,它不会暴露客户端秘密吗?
    • @jfbloom22,好问题,我不确定 adal-node tbh 的秘密。我认为 deco repo 实际上是原始存储浏览器的代码。我相信从那以后它已经发生了很大的变化,而且新的存储浏览器不是开源的。抱歉,我知道的不多。
    • 啊,好吧,如果我正在搜索的旧资源管理器甚至没有 AAD 身份验证,那将非常有意义。太糟糕了,他们没有开源新的。仅供参考,我将 Cordova 部署到 Windows 的方向,因为有一个支持 Windows 的 Cordova ADAL 插件。
    【解决方案2】:

    Azure AD 不支持文件协议作为回复地址。要开发单页应用程序,您可以将其托管在服务器上,并使用服务器 URL 作为回复地址。

    【讨论】:

      猜你喜欢
      • 2018-02-17
      • 2021-08-13
      • 1970-01-01
      • 1970-01-01
      • 2017-06-21
      • 2020-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多