1

我正嘗試登錄到Azure託管的Java API後端應用程序,並使用Activty Directory進行保護。如何在沒有ADAL的情況下登錄到Azure託管和Active Directory受保護的API應用程序?

this article我讀撥打此電話爲接收令牌:

GET https://login.windows.net/developertenant.onmicrosoft.com/oauth2/authorize?response_type=id_token&client_id=aeadda0b-4350-4668-a457-359c60427122&redirect_uri=https%3A%2F%2Flocalhost%3A44326%2F&state=8f0f4eff-360f-4c50-acf0-99cf8174a58b&nonce=8b8385b9-26d3-42a1-a506-a8162bc8dc63 HTTP/1.1

但是如何找出狀態現時設置我自己的API後端應用程序?

只是使用上面的例子中的狀態和nonce導致我回應所謂的flowToken。這也是我要發送的令牌類型,也是在引用的文章中提到的嗎?請參見本部分:

地點:https://localhost:44326/#id_token=eyJ0eXAiOiJKV1QiLC[SNIP]gu1OnSTN2Q2NVu3ug&state=8f0f4eff-360f-4c50-acf0-99cf8174a58b&session_state=e4ec5227-3676-40bf-bdfe-454de9a2fdb2

我只是想有一個前端應用程序安全地連接到後端應用程序會自動在沒有用戶憑據打字。

請不要告訴我使用ADAL。因爲那是我已經嘗試過的,什麼都不起作用。正如你可以看到here

回答

0

由於授權盛大流包含多個url重定向,這很難在SPA上實現。你需要在你的客戶端實現OAuth2 implicit grant flow in Azure Active Directory (AD),這也是JS完成的ADAL。有關工作流程的更多信息,請參閱https://docs.microsoft.com/en-us/azure/active-directory/active-directory-authentication-scenarios#single-page-application-spa

在SPA中最簡單的方法是使用ADAL for JS。根據您的問題Access to azure hosted API App denied by CORS policy,您可以嘗試設置保護您的後端服務器的AAD應用程序的配置。 I.E.

嘗試使用theEndpoints變量中的客戶端ID設置爲adalAuthenticationServiceProvider.init函數。它在我的測試項目上工作正常。

任何進一步的關注,請隨時讓我知道。

相關問題