0

我正在嘗試使用Azure AD B2C實現本機到Web API流。參考https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-reference-oauth-code針對桌面客戶端的Azure AD B2C本機應用Redirect_uri

我被困在我們的重定向uri。 Azure AD僅支持自定義方案重定向uris,我猜在認證瀏覽器嘗試打開自定義重定向uri之後,OS應該能夠處理它並在獲得授權碼的機器上打開應用程序。我想知道如何定義一個適用於所有平臺(Linux/Windows/Mac)的URI。

重定向的URI應該遵循這個https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-app-registration#choosing-a-native-application-redirect-uri

被觸發到微軟網頁的初始請求是一個Python控制檯應用程序的桌面應用程序。

任何幫助表示讚賞!

+0

通常,本機應用程序顯示它們控制的某種瀏覽器視圖。他們可以監聽URL中的更改,當他們檢測到試圖訪問該特定URL時,他們可以從那裏獲取授權代碼。我沒有做出這個答案的唯一原因是因爲我沒有任何具體的例子:) – juunas

+0

這是移動設備的重定向uri將是一些appname:// xyz。當操作系統看到它時,它會打開應用程序。但我不確定如何在桌面原生應用中執行此操作。 –

回答

0

解決方案是讓我們的自定義uri方案在客戶機上註冊。因此,無論身份驗證流程何時完成,瀏覽器都會嘗試發送請求以重定向uri,該uri將嘗試調用Desktop客戶端上註冊的應用程序。

在Windows https://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx

在Linux上 http://edoceo.com/howto/xfce-custom-uri-handler

註冊自定義的URI註冊自定義的URI一旦這些註冊成立REDIRECT_URI在Azure上它例如:vnc://testapp和操作系統會識別這個調用並打開應用程序用戶可以複製的Authcode粘貼並生成access_token和refresh_tokens。

如果有人有更好的方法,請發佈它。