微软身份平台身份验证选择
我们正在开发一个网络应用程序,不同的客户可以在其服务器上安装。 Web应用程序使用Node.js作为后端,主应用程序在C#中实现。主应用程序(C#)还具有邮件客户端同步。对于Microsoft EWS,我们目前正在使用基本身份验证,但是现在我们想用Microsoft Azure Authentication替换它。
我完全不明白哪种身份验证选项最适合这种情况。我们想在我们的Azure帐户中注册一个应用程序(客户不必在其Azure注册应用程序)。然后,在我们的Web应用程序中,我们希望客户能够单击一个“添加Microsoft登录”按钮(到目前为止,它要求提供Microsoft帐户的用户名和密码)。然后,应将用户重定向到Microsoft页面,并要求请求EWS/Graph所需的权利。随后,客户服务器上的应用程序应具有一个代币,主要应用程序(C#)可以用来在后台永久同步电子邮件(最好支持应用程序权限和委派权限)。
由于应用程序是在客户端服务器上安装的,因此我们无法将应用程序秘密放在应用程序本身中。因此,Microsoft的身份验证示例(例如“ Web App”)可能不是正确的选择?另一个想法是,客户应用程序与我们的中央服务器进行通信,其中存储了Azure应用程序的秘密密钥。但是,我们不想使用我们的秘密密钥访问所有客户帐户。客户的令牌应保留在其服务器上。
哪种身份验证方法对于此应用程序最有意义?
提前致谢!
we are developing a web application that different customers can install on their servers. The web application uses node.js as backend, the main application is implemented in C#. The main application (C#) also has a mail client sync. For microsoft ews we are currently using Basic authentication, but now we want to replace it with Microsoft azure authentication.
I don't understand exactly which of the authentication options is best for the scenario. We want to register an Application in our Azure account (customers should not have to register an App in their Azure). Then in our web app, we want customers to be able to click a "Add Microsoft Login" button (so far, it asks for the username and password of the Microsoft account for ews). Then the user should be redirected to a Microsoft page and the required rights for ews/graph should be requested. Subsequently, the application on the customer's server should have a token that the main application (C#) can use to permanently synchronize emails in the background (preferably we would want to support application permissions and delegated permissions).
Since the application is installed at the client server, we cannot place our application secret in the application itself. For this reason, Microsoft's authentication examples like "web app" are probably not the right choice? Another idea was that the customers applications communicate with a central server of us, where the secret key of our azure application is stored. However, we don't want to have access to all customer accounts with our secret key. The tokens of the customers should remain stored on their server.
Which authentication method makes the most sense for this application?
thanks in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论