【发布时间】:2021-12-05 01:59:49
【问题描述】:
我想开发一个自定义的 ASP.NET Web API,它可以用来作为使用 Microsoft Graph API 的用户发送电子邮件。我认为这将是一个多租户应用程序。以下是我的一些想法和一些问题:
-
我有一个工作的 ASP.NET MVC Web 应用程序,不同的用户可以使用我们提供的唯一凭据登录。
-
我的网络应用中有一个“电子邮件设置”部分。每个用户将一次导航到此部分并被重定向到“https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id={{client_id}}&response_type=code&redirect_uri={{redirect_uri }}&response_mode=query&scope=offline_access%20user.read%20mail.read&state=12345"
-
在同意屏幕上,用户将使用他们的 Microsoft Office 365 凭据登录并同意我的应用。
-
在提供同意后,用户将被重定向回我的网络应用程序,我将获得返回代码的访问令牌并将访问令牌存储在 SQL 数据库中。
-
用户导航到要发送电子邮件的页面,填写收件人、主题、正文、附件等,然后单击“发送”按钮。
-
在发送按钮上,我的 ASP.NET Web 应用程序将调用我们的自定义 Web API 来发送电子邮件。 API 将有一个知道用户的端点,并将从 SQL 数据库获取适当的访问令牌,以代表该用户发送电子邮件。
问题:
-
我是否需要注册类型为“多租户”的 Azure 应用,因为我想支持来自不同租户的用户?
-
以用户身份“发送电子邮件”需要什么样的范围/权限?
-
我是否需要 Azure 端的委派/应用程序权限?
-
如何确保发送的电子邮件也保存到 Outlook 上该用户的“已发送邮件”文件夹?
【问题讨论】:
-
您好,如果发布的答案解决了您的问题,请单击复选标记将其标记为答案。这样做有助于其他人找到问题的答案。
标签: azure asp.net-core email microsoft-graph-api multi-tenant