2016-08-09 65 views
0

我正在構建與幾個不同社交登錄集成的Office應用程序應用程序。使用POC玩轉,很明顯,像Office 365/Facebook這樣的SSO打開的重定向/新窗口是阻止程序,因爲它們不會返回到打開它們的窗口(登錄確認等)(辦公應用程序) 。有沒有辦法確保任何新窗口在Office應用程序容器內呈現,而不是在新窗口中呈現?在Office應用程序中使用社交登錄

相關問題

回答

2

正如我寫there,因爲你無法實現的插件沙盒的iFrame內OAUTH流的安全限制,所以在彈出的窗口是一個必要的解決方法。

這裏是best solution在彈出窗口中實現OAUTH流程,它清楚地解釋了問題以及爲什麼彈出窗口是必要的惡意。

微軟很清楚這個問題,並開始在dialogAPI上工作,以避免彈出窗口(可能被關閉)。此對話API已經爲此目的創建,但僅適用於Office Desktop。如果你想支持所有的客戶端(包括Web客戶端),那麼你需要一個依靠彈出窗口的回退解決方案。

上的Office的一些更多的鏈接外接沙盒的iFrame OAUTH問題:

EDIT(九月2016):

在Keluro我們發佈an open source code sample利用的登錄技術性。它更多地用於連接到Azure AD/Office 365,但使用dialogApi的客戶端和作爲回退的彈出窗口可以重複用於其他社交登錄。

+0

這裏有一些更多的資源: https://github.com/OfficeDev/Word-Add-in-AngularJS-Client-OAuth https://github.com/OfficeDev/Office-Add-in-Nodejs- ServerAuth https://github.com/dougperkes/Office-Add-in-AspNetMvc-ServerAuth –

+0

不幸的是,與理查德Dizierga的博客文章相關聯的完整代碼已經消失MIA - 我找到了[Simon Jaeger的帖子](http ://simonjaeger.com/building-a-good-authentication-flow-in-an-office-add-in/)有幫助。 – lgaud