从electron应用程序获取Azure Active Directory令牌

从electron应用程序获取Azure Active Directory令牌,electron,azure-active-directory,adal,Electron,Azure Active Directory,Adal,从electron应用程序获得AAD代币的最佳方式是什么 Microsoft有两个javascript身份验证库:adal.js和msal.js。 两者都是为浏览器设计的,而不是原生的Electron应用程序(例如-AAD不允许file://scheme作为回复URL) 听起来长期的解决方案应该是本地AAD软件包(如Microsoft Build for),但由于这种情况可能不会很快发生,那么最好的短期选择是什么?Azure AD不支持文件协议作为回复地址。要开发单页应用程序,您可以将其托管在服

从electron应用程序获得AAD代币的最佳方式是什么

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


听起来长期的解决方案应该是本地AAD软件包(如Microsoft Build for),但由于这种情况可能不会很快发生,那么最好的短期选择是什么?

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

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

您可能可以查看应用程序的开发工具中发生了什么。我已经仔细研究过了,它似乎使用了npm包,而不是基于浏览器的js库


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

谢谢你的建议@paul lucas!我正在查看Azure存储资源管理器源代码:。就我的一生而言,我无法理解这是如何通过AAD认证的。你知道这是怎么处理的吗?对于adal node,当它打包在电子应用程序中时,它不会暴露客户端机密吗?@jfblum22,好问题,我不确定adal node tbh的机密。我认为deco repo实际上是原始storage explorer的代码。我相信从那时起它已经发生了巨大的变化,而且新的storage explorer不是开源的。对不起,我不知道更多。啊,好吧,是的,如果我正在搜索的旧探索者,repo,甚至没有AAD auth,这将是非常有意义的。太糟糕了,他们没有开源新的。仅供参考,我打算将Cordova部署到Windows,因为有一个支持Windows的Cordova ADAL插件。