限制Microsoft应用程序访问单个用户的MS Graph电子邮件

时间:2017-09-13 03:25:53

标签: microsoft-graph

我们正在构建一项服务,预计将使用MS Graph定期向客户发送电子邮件。用于发送电子邮件的邮箱设置为no-reply@contoso.com

我已在https://apps.dev.microsoft.com配置了应用。由于此服务将在服务器端运行以仅发送电子邮件,而无需用户交互,因此我选择使用名为Application Permission的{​​{1}}。

此类设置需要Mail.Send (admin only)同意。我的系统管理员担心应用程序需要过多访问它的目的。他是对的,因为所请求的许可将允许应用程序/服务以组织中的任何人发送电子邮件。

我知道我可以使用admin选项并最初获得Delegate Permission并让服务根据刷新令牌不断获取新的访问令牌。我不确定这是不是这个想法。

1 个答案:

答案 0 :(得分:2)

首先,祝贺有一个无人值守的管理员。他们关心的是坦率地说为什么Graph需要Admin Consent,应用程序权限范围相当广泛。

将范围缩小到单个用户的唯一方法是使用委派权限。如果您要求offline_access作为范围的一部分,则会包含您需要保持登录状态的refresh_token

关于此模型的一个重要说明,您可能需要定期重新进行身份验证。某些事件(如更改密码)将使您的令牌无效,并需要重新登录才能获得新的设置。如果应用程序无法刷新其令牌,您应该确保包含一个通知机制来改变某人。