2015-02-23 87 views
0

我有一個提供程序託管應用程序的SharePoint Online網站以及使用Azure Active Directory保護的Web API服務。
我想從SharePoint應用程序中使用Web API服務。
由於用戶已在SharePoint上下文中進行身份驗證,因此我想使用他們的憑據並將其「攜帶」到Web API服務(而不是提示用戶輸入用戶名和密碼)。
SharePoint提供程序託管應用程序憑證以使用Web API

我的Web API是在AAD中註冊的,我注意到SharePoint應用程序也出現在AAD中(作爲「同意的應用程序」)。

是否允許在訪問Web API時使用爲已同意的應用程序發佈的訪問令牌?是否有任何其他解決方案將證書從SharePoint上下文「攜帶」到第三方服務?

謝謝!

回答

0

是的,這應該是可能的,但如果您的提供程序託管的Web應用程序使用SharePoint15應用程序模型,則重新使用用戶上下文可能具有挑戰性。也就是說,您應該可以使用OAuth2.0從您的Web應用程序調用我們的Azure AD安全Web API,雖然可能會要求同意,但用戶不需要再次登錄。

在github上有很多關於如何使用Azure AD(以及ADAL客戶端庫)調用Web API的示例。儘管在使用OAuth2.0代碼流調用Web API之前,它也使用OpenID Connect進行登錄(使用Azure AD帳戶),但這可能是最合適的:https://github.com/AzureADSamples/WebApp-WebAPI-OpenIDConnect-DotNet。在調用Web API時,訪問/ Jwt令牌將包含有關客戶端應用程序和登錄用戶的信息。

最新的O365 REST API允許您使用Azure AD提供的相同OAuth2.0框架。這將允許你建立一個Web應用程序可以調用的文件/的SharePoint,電子郵件/日曆/聯繫人和Azure的AD圖,以及你自己的或其他網絡的API:https://msdn.microsoft.com/office/office365/HowTo/platform-development-overview

HTHS,

相關問題