網頁API我需要實現使用蔚藍活動目錄蔚藍網絡API認證。身份驗證使用蔚藍AD
客戶端應用程序(其消耗的WebAPI)可以是或可以不是在天藍色。我需要如何驗證用戶,如果我的應用程序不在Azure(如果它是IOS應用程序),我應該在哪裏生成令牌。即使客戶端應用程序處於天藍色,身份驗證也應該可以在所有情況下運行。
現在請讓我來實現認證的最佳方法。
網頁API我需要實現使用蔚藍活動目錄蔚藍網絡API認證。身份驗證使用蔚藍AD
客戶端應用程序(其消耗的WebAPI)可以是或可以不是在天藍色。我需要如何驗證用戶,如果我的應用程序不在Azure(如果它是IOS應用程序),我應該在哪裏生成令牌。即使客戶端應用程序處於天藍色,身份驗證也應該可以在所有情況下運行。
現在請讓我來實現認證的最佳方法。
應用服務使用不同的身份驗證提供Azure Active Directory,Facebook,Google,Microsoft,Twitter。 我們可以在Azure Portal中設置任何類型的認證/授權。有關如何在Azure App Service中使用API應用程序認證的更多信息,請參閱document。
默認情況下,App Service提供身份驗證,但不會限制對站點內容和API的授權訪問。您必須在您的應用程序代碼中授權用戶。
您需要定義在Azure的AD客戶端應用程序在移動應用的情況下,本機應用程序。然後你在那裏定義API,並添加你的客戶端權限來訪問它。您可以選擇通過Azure AD中的API應用程序清單自定義可用權限。然後,當您的移動應用程序打開時,您必須使用Azure AD進行身份驗證,然後爲該API請求訪問令牌。然後您可以使用它來驗證請求。
我不能太詳細地回答這個問題,因爲它是一個相當大的話題,它是如何完成的還取決於你的平臺。有一個sample app,你可以檢查哪個確實是你想要的。本機應用程序的例子的整個列表可以找到here。
這就是我所做的,但我面臨一個小問題,我的客戶端能夠獲取令牌,但是當我將它傳遞給API時,它會返回未經授權的。我無法弄清楚什麼是錯誤的。我的客戶是一個簡單的桌面控制檯應用。 – Diceyus
可能意味着您的API不認爲令牌有效。對你的設置一無所知,我只能提到你應該檢查預期的'audience'和'authority'是否正確。也許用API的一些代碼發佈一個關於這個問題? – juunas
根據我的理解,Web API的受衆應該被用作客戶端的資源,並且我能夠獲得該資源的標記。 – Diceyus