2017-09-13 83 views
2

我們正在構建一項服務,該服務預計將使用MS Graph定期向客戶發送電子郵件。用於發送電子郵件的郵箱設置爲[email protected]限制Microsoft應用程序訪問單個用戶的MS Graph電子郵件

我已經配置了一個應用程序https://apps.dev.microsoft.com。而且由於此服務將在服務器端運行以僅發送電子郵件,而無需用戶交互,因此我選擇使用名爲Mail.Send (admin only)Application Permission

這樣的設置需要admin的同意。而我的系統管理員擔心該應用程序需要訪問的內容太多,以至於它的用途。他是對的,因爲所請求的許可會讓應用/服務作爲組織中的任何人發送電子郵件。

我知道我可以使用Delegate Permission選項並在開始時獲得auth code並讓服務根據刷新令牌不斷獲取新的訪問令牌。我不確定這是否是主意。

回答

1

首先,恭喜你擁有一個管理員。坦率地說,他們關心的是爲什麼Graph需要管理員同意,應用程序許可範圍相當廣泛。

將範圍縮小到單個用戶的唯一方法是使用委託權限。如果您要求offline_access作爲示波器的一部分,這將包括您需要保持登錄狀態的refresh_token

有關此模型的一個重要說明,您可能需要定期重新進行身份驗證。某些事件(如更改密碼)會使您的令牌無效,並需要重新登錄才能獲得新設置。如果應用程序無法刷新它的標記,則應確保包含通知機制,以便更改某人。

+0

謝謝你。 :) –

+0

@ marc-lafleur-msft:refresh_token有效期有多長? –

+1

它最近更改爲'until-revoked'。您可以閱讀有關更改[這裏](https://blogs.technet.microsoft.com/enterprisemobility/2017/08/31/changes-to-the-token-lifetime-defaults-in-azure-ad/) –

相關問題