我正在iOS上創建應用程序,該應用程序將以「信息亭」模式運行。部分應用程序要求用戶能夠搜索組織的目錄。我想通過Azure圖形API支持Azure AD以提供此功能。iOS上針對Azure圖形API的非交互式登錄(緩存憑據)
我不想在應用程序啓動時需要交互式登錄,我不想使用其他Web服務;我希望iOS應用程序通過REST簡單訪問Azure圖形API。
我意識到與緩存憑據相關的風險,但是對於非交互式登錄使用「服務帳戶」已相當完善,訪問是隻讀的,憑據可以在iOS鑰匙串中保護。
我已經瀏覽了大量的Azure示例並閱讀了文檔,並且似乎提供了我需要的方法acquireToken(resource, credential)
在iOS ADAL庫(並且是ClientCredential
類)中不可用。
爲了澄清,這是我想怎麼我的應用程序的工作:
- 用戶安裝從App Store的應用程序,並運行它第一次
- 當他們到Azure的身份驗證設置的一部分AD通過提供他們的租戶,應用程序客戶端ID和應用程序密鑰。如果他們不能與應用程序鍵進行身份驗證,用戶名/密碼是可以接受的,只要:
- 他們從來沒有得到提示進行身份驗證再次
是否有解決方案或在這裏我只是放棄Azure AD?
沒有iOS上的服務帳戶的概念。將窗口工件和定義帶入iOS似乎在推斷。 –
另外,使用交互式登錄從您的應用程序訪問圖形時出現什麼問題?您需要做的就是獲取圖形的標記作爲資源並使用您的公共客戶機標識。 –
我只是用它來解釋這個概念。 「服務帳戶」將被iOS應用程序*使用*。它將存在於Azure AD中(或者最好是一個Azure AD應用程序定義,它具有客戶端ID和密鑰而不是用戶名和密碼)。 – Paulw11