從Azure AD 應用程式資源庫設定OpenID Connect OAuth 應用 ...

文章推薦指數: 80 %
投票人數:10人

移至[企業應用程式] >[所有應用程式] 。

The Enterprise applications blade. 選取對話方塊頂端的[新增應用程式] 。

The New application button. 跳到主要內容 已不再支援此瀏覽器。

請升級至MicrosoftEdge,以利用最新功能、安全性更新和技術支援。

下載MicrosoftEdge 其他資訊 目錄 結束焦點模式 閱讀英文 儲存 目錄 閱讀英文 儲存 Twitter LinkedIn Facebook 電子郵件 WeChat 目錄 從AzureAD應用程式資源庫設定OpenIDConnectOAuth應用程式 發行項 06/02/2022 12位參與者 本文內容 從資源庫新增OpenID應用程式的程序 在Azure入口網站中,選取[AzureActiveDirectory]。

移至[企業應用程式]>[所有應用程式]。

選取對話方塊頂端的[新增應用程式]。

在搜尋方塊中,輸入應用程式名稱。

從結果面板中選取所需的應用程式,然後向應用程式註冊。

在[應用程式名稱]頁面中,按一下[註冊]按鈕。

注意 租用戶系統管理員應該選取[註冊]按鈕並為該應用程式提供同意。

然後,應用程式就會新增至客戶租用戶,您可以在其中進行設定。

您不需要明確地新增應用程式。

系統會將您重新導向至[應用程式登入]頁面或[AzureActiveDirectory(AzureAD)]頁面,以取得登入認證。

驗證成功之後,您必須接受同意頁面上的同意。

在那之後,應用程式首頁會隨即出現。

注意 您只可以新增一個應用程式執行個體。

如果您已經新增一個並嘗試再次提供同意,系統將不會再次將它新增至租用戶。

因此,邏輯上您只能在租用戶中使用一個應用程式執行個體。

請依照下列影片的指示,從資源庫新增OpenID應用程式。

使用OpenIDConnect驗證流程 最基本的登入流程包含下列步驟: 多租用戶應用程式 多租用戶應用程式可供許多組織使用,而不限單一組織。

這些通常是由獨立軟體廠商(ISV)撰寫的軟體即服務(SaaS)應用程式。

每個要使用多租用戶應用程式的目錄中,都須佈建多租用戶應用程式。

這些應用程式需要使用者或系統管理員同意才能加以註冊。

當應用程式目錄中已在目錄中註冊並獲權存取GraphAPI或其他WebAPI時,此同意程序會啟動。

當不同組織的使用者或系統管理員註冊來使用應用程式時,對話方塊會顯示應用程式需要的權限。

然後,使用者或系統管理員可以對應用程式表示同意。

同意後即可讓應用程式存取所述的資料,而最終目的是在目錄中註冊應用程式。

注意 如果要讓您的應用程式可供多個目錄中的使用者使用,則需要有機制來判斷使用者所在的租用戶。

單一租用戶應用程式只須查看其本身目錄的使用者。

多租用戶應用程式需要從AzureAD的所有目錄中識別特定使用者。

為了完成這項工作,AzureAD提供一個共同驗證端點,供任何多租用戶應用程式引導登入要求,而非提供租用戶特定的端點。

此端點是https://login.microsoftonline.com/common,適用於AzureAD中的所有目錄。

租用戶專屬端點可能是https://login.microsoftonline.com/contoso.onmicrosoft.com。

常用端點是您開發應用程式時必須納入考量的重點。

您將需要必要邏輯來處理多租用戶的登入、登出和權杖驗證。

根據預設,AzureAD會推廣多租用戶應用程式。

因為多租用戶應用程式可在組織間輕鬆存取,而且在您接受同意之後即可輕易上手。

同意架構 您可以使用AzureAD同意架構來開發多租用戶的Web應用程式和原生用戶端應用程式。

這些應用程式允許與應用程式註冊所在的租用戶不同之AzureAD租用戶的使用者帳戶登入。

應用程式可能也需要存取WebAPI,例如: MicrosoftGraphAPI,以便存取AzureAD、Intune和Microsoft365中的服務。

其他Microsoft服務的API。

您自己的WebAPI。

此架構以使用者或系統管理員為根據,他們可同意讓應用程式在他們的目錄中註冊。

註冊可能包含存取目錄資料。

取得同意之後,用戶端應用程式將能代表使用者呼叫MicrosoftGraphAPI,並視需要使用資訊。

MicrosoftGraphAPI會提供Microsoft365中資料的存取權,例如: Exchange中的行事曆和訊息。

SharePoint中的網站和清單。

OneDrive中的文件。

OneNote中的Notebook。

Planner中的工作。

Excel中的活頁簿。

GraphAPI也會提供AzureAD中的使用者和群組存取權,以及多個Microsoft雲端服務中的其他資料物件存取權。

下列步驟會示範如何將同意體驗用於應用程式開發人員和使用者: 假設您擁有一個Web用戶端應用程式,其需要要求特定權限以存取資源或API。

Azure入口網站會在設定期間用來宣告權限要求。

就和其他組態設定一樣,它們會成為應用程式之AzureAD註冊的一部分。

如需權限要求路徑,您需要遵循下列步驟: a.按一下左側功能表中的[應用程式註冊],並在搜尋方塊中輸入應用程式名稱以開啟您的應用程式。

b.按一下[檢視API權限]。

c.按一下[新增權限]。

d.按一下[MicrosoftGraph]。

e.從[委派權限]和[應用程式權限]中選取所需的選項。

由於應用程式的權限已更新。

當應用程式執行時,使用者即將第一次使用此應用程式。

首先,應用程式必須從AzureAD/授權端點取得授權碼。

授權碼接著可用來取得新的存取權和重新整理權杖。

如果使用者尚未經過驗證,AzureAD/授權端點就會提示使用者登入。

使用者登入之後,AzureAD會判斷是否需要向使用者顯示同意頁面。

此判斷根據使用者(或其組織的系統管理員)是否已經同意應用程式。

如果尚未授與同意,AzureAD會提示使用者取得同意,並顯示其運作所需的必要權限。

同意對話方塊中顯示的權限,會和在Azure入口網站[委派的權限]中選取的權限相符。

一般使用者可以同意某些權限。

其他權限則需要租用戶系統管理員的同意。

系統管理員同意和使用者同意之間的差異 身為系統管理員,您也可以代表租用戶中的所有使用者,同意應用程式的委派權限。

系統管理員同意不會讓租用戶中的每個使用者看到同意對話方塊。

具有「系統管理員」角色的使用者可以在Azure入口網站中提供同意。

在應用程式的[設定]頁面中,選取[所需的權限]>[授與管理員同意]。

注意 使用MSAL.js的單頁應用程式(SPA)現在必須使用[授與管理員同意]按鈕來授與明確的同意。

否則,應用程式會在要求存取權杖時失敗。

僅限應用程式的權限一律需要租用戶系統管理員的同意。

如果您的應用程式要求僅限應用程式的權限,當使用者嘗試登入應用程式時,將會出現錯誤訊息。

訊息會指出該使用者無法同意。

如果您的應用程式使用需要系統管理員同意的權限,您就必須要有相關的表示,例如可供系統管理員開始動作的按鈕或連結。

您的應用程式針對此動作傳送的要求是一個一般的OAuth2/OpenIDConnect授權要求。

此要求包含prompt=admin_consent查詢字串參數。

在系統管理員同意且系統在客戶的租用戶中建立服務主體之後,後續的登入要求就不需要prompt=admin_consent參數。

由於系統管理員已決定可接受要求的權限,因此從該時間點之後,就不會再提示租用戶中的任何其他使用者行使同意權。

租用戶系統管理員可以停用一般使用者對應用程式行使同意權的能力。

如果停用這項功能,就一律需要系統管理員同意,才能在租用戶中使用應用程式。

若要在停用使用者同意的情況下測試應用程式,您可以在Azure入口網站中找到設定參數。

其位於[企業應用程式]下的使用者設定區段。

要求的權限不需要系統管理員同意的應用程式,也可以使用prompt=admin_consent參數。

例如,應用程式需要的體驗是,租用戶系統管理員「註冊」一次,此後就不會再提示其他使用者要表示同意。

假設應用程式需要系統管理員同意,而系統管理員登入時不需要傳送prompt=admin_consent參數。

當系統管理員順利同意此應用程式時,這只會套用至其使用者帳戶。

一般使用者將仍然無法登入此應用程式或對其行使同意權。

當您想要先讓租用戶系統管理員能夠瀏覽您的應用程式,然後才允許其他使用者存取時,這個功能相當有用。

後續步驟 為您AzureActiveDirectory(AzureAD)租用戶中的應用程式設定OIDC型單一登入(SSO) 本文內容



請為這篇文章評分?