設定入口網站的 OpenID Connect 提供者設定

本主題適用於 Dynamics 365 入口網站及更新版本。

OpenID Connect 外部身分識別提供者是遵循 OpenID Connect 規格的服務。 整合提供者包括尋找與提供者關聯的授權單位 (或簽發者) URL。 設定 URL 可在驗證工作流程中從提供所需中繼資料的授權單位判斷。 提供者設定是根據 OpenIdConnectAuthenticationOptions 類別的屬性。

授權單位 URL 的範例如下:

每個 OpenID Connect 提供者也都要註冊應用程式 (類似 OAuth 2.0 提供者) 並取得用戶端識別碼。 授權單位 URL 和產生的應用程式用戶端識別碼都是必要設定,如此才能在入口網站和身分識別提供者之間進行外部驗證。

備註

Google OpenID Connect 端點目前不支援,因為基礎程式庫仍處於早期發行階段,有相容性問題待解決。 可改用入口網站 OAuth2 提供者設定端點。

Azure Active Directory 的 OpenID 設定

若要開始進行,請登入 Azure 管理入口網站並建立或選取現有的目錄。 有目錄可用時,依照指示新增應用程式至目錄。

  1. 在目錄的 [應用程式] 功能表底下,按一下 [新增] 按鈕。
  2. 選擇 [新增我的組織正在開發的應用程式]。
  3. 為應用程式指定自訂 [名稱],並選擇 [Web 應用程式和/或 Web API] 類型。
  4. 針對 [登入 URL] 和 [應用程式識別碼 URI],為這兩個欄位指定入口網站的 URL https://portal.contoso.com/
  5. 此時,新應用程式已建立完成。 導覽至功能表中的 [設定] 區段。

    在 [單一登入] 區段底下,更新第一個 [回覆 URL] 項目以在 URL 中包含路徑:http://portal.contoso.com/signin-azure-ad。 這對應於 RedirectUri 網站設定值

  6. 在 [屬性] 區段下,找到 [用戶端識別碼] 欄位。 這對應於 ClientId 網站設定值。

  7. 在頁尾功能表中,按一下 [檢視端點] 按鈕,並記下 [同盟中繼資料文件] 欄位

URL 的左半部是 [授權單位] 值,採用下列其中一種格式:

若要取得服務設定 URL,請將 FederationMetadata/2007-06/FederationMetadata.xml 路徑結尾取代為 .well-known/openid-configuration 路徑。 例如 https://login.microsoftonline.com/contoso.onmicrosoft.com/.well-known/openid-configuration

這對應於 MetadataAddress 網站設定值。

使用 OpenID 建立網站設定

參考上述應用方式套用入口網站設定。

備註

標準 Azure AD 設定只使用下列設定 (含範例值):

多個身分識別提供者可透過將標籤替換為 [provider] 標籤的方式設定。 每個唯一標籤都是一組與身分識別提供者相關的設定。 範例:AzureAD、MyIdP

網站設定名稱 描述
Authentication/Registration/ExternalLoginEnabled 啟用或停用外部帳戶登入和註冊。 預設:true
Authentication/OpenIdConnect/[provider]/Authority 必要。 呼叫 OpenIdConnect 時使用的授權單位。 範例:https://login.windows.net/contoso.onmicrosoft.com/。 MSDN
Authentication/OpenIdConnect/[provider]/MetadataAddress 取得中繼資料的探索端點。 常用的路徑結尾:/.well-known/openid-configuration。 範例:https://login.windows.net/contoso.onmicrosoft.com/.well-known/openid-configuration。 MSDN
Authentication/OpenIdConnect/[provider]/AuthenticationType OWIN 驗證中介軟體類型。 指定服務設定中繼資料中簽發者的值。 範例:https://sts.windows.net/contoso.onmicrosoft.com/。 MSDN
Authentication/OpenIdConnect/[provider]/ClientId 必要。 來自提供者應用程式的用戶端識別碼值。 它也可能稱為「應用程式識別碼」或「消費者金鑰」。 MSDN
Authentication/OpenIdConnect/[provider]/ClientSecret 來自提供者應用程式的用戶端密碼值。 它也可能稱為「應用程式密碼」或「消費者密碼」。 MSDN
Authentication/OpenIdConnect/[provider]/RedirectUri 建議使用。 AD FS WS-Federation 被動端點。 範例:https://portal.contoso.com/signin-saml2。 MSDN
Authentication/OpenIdConnect/[provider]/Caption 建議使用。 使用者可在登入使用者介面上顯示的文字。 預設值:[provider]。 MSDN
Authentication/OpenIdConnect/[provider]/Resource 'resource'。 MSDN
Authentication/OpenIdConnect/[provider]/ResponseType 'response_type'。 MSDN
Authentication/OpenIdConnect/[provider]/Scope 要求的權限的空格分隔清單。 預設值:openid。 MSDN
Authentication/OpenIdConnect/[provider]/CallbackPath 選擇性的限制路徑,用於處理驗證回呼。 如果沒有提供且 RedirectUri 可用,此值會從 RedirectUri 產生。 MSDN
Authentication/OpenIdConnect/[provider]/BackchannelTimeout 後方通道通訊的逾時值。 範例:00:05:00 (5 分鐘)。 MSDN
Authentication/OpenIdConnect/[provider]/RefreshOnIssuerKeyNotFound 決定中繼資料重新整理是否應在 SecurityTokenSignatureKeyNotFoundException 後進行。 MSDN
Authentication/OpenIdConnect/[provider]/UseTokenLifetime 表示驗證工作階段存留期 (例如 Cookie) 應符合驗證 Token 的存留期。 MSDN
Authentication/OpenIdConnect/[provider]/AuthenticationMode OWIN 驗證中介軟體模式。 MSDN
Authentication/OpenIdConnect/[provider]/SignInAsAuthenticationType 建立 System.Security.Claims.ClaimsIdentity 時使用的 AuthenticationType。 MSDN
Authentication/OpenIdConnect/[provider]/PostLogoutRedirectUri 'post_logout_redirect_uri'。 MSDN
Authentication/OpenIdConnect/[provider]/ValidAudiences 對象 URL 的逗號分隔清單。 MSDN
Authentication/OpenIdConnect/[provider]/ValidIssuers 簽發者 URL 的逗號分隔清單。 MSDN
Authentication/OpenIdConnect/[provider]/ClockSkew 驗證時間時要套用的時鐘誤差。
Authentication/OpenIdConnect/[provider]/NameClaimType ClaimsIdentity 用來儲存名稱宣告的宣告類型。
Authentication/OpenIdConnect/[provider]/RoleClaimType ClaimsIdentity 用來儲存角色宣告的宣告類型。
Authentication/OpenIdConnect/[provider]/RequireExpirationTime 指出 Token 是否必須有 'expiration' 值的值。
Authentication/OpenIdConnect/[provider]/RequireSignedTokens 指出 System.IdentityModel.Tokens.SecurityToken xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" 在未簽署的情況下是否有效的值。
Authentication/OpenIdConnect/[provider]/SaveSigninToken 布林值,控制工作階段建立時是否儲存原始 Token。
Authentication/OpenIdConnect/[provider]/ValidateActor 指出 System.IdentityModel.Tokens.JwtSecurityToken.Actor 是否應驗證的值。
Authentication/OpenIdConnect/[provider]/ValidateAudience 布林值,控制是否在 Token 驗證期間驗證對象。
Authentication/OpenIdConnect/[provider]/ValidateIssuer 布林值,控制是否在 Token 驗證期間驗證簽發者。
Authentication/OpenIdConnect/[provider]/ValidateLifetime 布林值,控制是否在 Token 驗證期間驗證存留期。
Authentication/OpenIdConnect/[provider]/ValidateIssuerSigningKey 布林值,負責控制是否呼叫簽署 securityToken xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" 的 System.IdentityModel.Tokens.SecurityKey 驗證。

請參閱

設定 Dynamics 365 入口網站驗證
設定入口網站的驗證身分
入口網站的OAuth2 提供者設定
入口網站的 WS-Federation 提供者設定
入口網站的 SAML 2.0 提供者設定
入口網站的 Facebook 應用程式 (頁面索引標籤) 驗證