2016-03-09 50 views
1

我正在使用iOS應用程序,其中已存儲Office365用戶帳戶的憑據。當用戶點擊登錄按鈕時,用戶應該直接使用憑證登錄,不會彈出用於輸入憑證的 的Web UI。在iOS應用程序中使用Office365 SDK的無聲登錄應用程序

我已成功將Office 365 SDK集成到應用程序中,並且可以通過在Web UI中輸入憑據來登錄。但我想通過身份驗證屏幕。

是否可以使用office365 iOS SDK進行無聲登錄?

回答

0

這受到OAuth 2.0的限制。 客戶端不是使用資源所有者的憑證來訪問受保護的資源,而是獲取訪問令牌 - 一個表示特定範圍,生命週期和其他訪問屬性的字符串。 OAuth 2.0已解決這些問題時,資源所有者用他們的憑據來訪問受保護的資源:

Ø第三方應用程序都需要存儲資源 所有者以供將來使用憑證,通常在 明文密碼。

o 服務器需要支持密碼認證,儘管 是密碼固有的安全弱點。

Ø第三方應用程序獲取對資源 所有者的受保護的資源過於寬泛的訪問,使資源擁有者沒有任何 限制持續時間或訪問的 資源有限的子集的能力。

Ø資源擁有者不能撤銷訪問單個第三方 沒有撤銷訪問所有的第三方,且必須由 這樣做改變了第三方的密碼。

Ø在 最終用戶的密碼妥協妥協的任何第三方應用程序的結果,所有由 密碼保護的數據。

然而,資源所有者密碼憑證(即,用戶名和密碼)可以直接用作授權許可以獲得訪問令牌。 僅當資源所有者和客戶端之間存在高度信任時(例如,客戶端是設備操作系統或高度特權應用程序的一部分)以及其他授權許可類型不可用時才應使用憑據(如授權碼)。

Azure AD是一個公共雲身份服務,在Azure AD上註冊的應用程序不是「高度特權的應用程序」。所以恐怕應用程序無法直接獲取訪問令牌使用用戶名和密碼。

您可以從以下鏈接參考OAuth 2.0授權框架: https://tools.ietf.org/html/rfc6749#page-4