無周邊身分驗證 API:設定授權代碼和認證流程的外部用戶端應用程式
若要與 Salesforce 無周邊身分驗證 API 整合,請針對「授權代碼和認證流程」設定外部用戶端應用程式。在「設定」中使用「外部用戶端應用程式管理員」。或者透過中繼資料 API 設定您的外部用戶端應用程式。外部用戶端應用程式支援「授權代碼和認證流程」的所有變化,包括無周邊登入、無密碼登入、註冊和來賓使用者變化。
必要版本
| 提供版本:Lightning Experience |
| 提供版本:Enterprise、Unlimited 及 Developer Edition |
| 需要的使用者權限 | |
|---|---|
| 若要以外部用戶端應用程式開發人員的身分設定設定和原則: | 建立、編輯和刪除外部用戶端應用程式 |
| 以外部用戶端應用程式管理員的身分管理外部用戶端應用程式原則: | 檢視所有外部用戶端應用程式、檢視其設定,以及編輯其原則 |
針對「授權代碼和認證流程」,外部用戶端應用程式必須啟用數個設定和原則。您對設定的存取權與原則取決於您的角色,由您的使用者權限所定義。開發人員可設定設定與原則。他們可以使用設定來控制管理員可以存取的原則。管理員只會設定原則。如果您是管理員且找不到特定原則,請連絡應用程式開發人員。
- 使用外部用戶端應用程式管理員
使用「設定」中的「外部用戶端應用程式管理員」來設定「授權代碼和認證流程」的外部用戶端應用程式。 - 使用中繼資料 API
使用中繼資料 API 為授權代碼和認證流程設定外部用戶端應用程式。
使用外部用戶端應用程式管理員
使用「設定」中的「外部用戶端應用程式管理員」來設定「授權代碼和認證流程」的外部用戶端應用程式。
若要使用「授權代碼和認證流程」,必須在「設定」的「OAuth 和 OpenID 連線設定」頁面上為您的組織啟用該流程。您的外部用戶端應用程式必須為 OAuth 啟用。「授權代碼和認證流程」的來賓使用者變化僅支援 JSON Web 權杖 (JWT) 型存取權杖。若要使用此流程變化,請 啟用您的外部用戶端應用程式來核發 JWT 型存取權杖。
-
(僅限開發人員) 編輯外部用戶端應用程式設定。如果您是管理員,則您的開發人員會為您啟用這些設定。
-
進入「設定」,在「快速尋找」方塊中輸入 外部用戶端應用程式,然後選取「外部用戶端應用程式管理員」。在應用程式旁邊,按一下
,然後選取「編輯設定」。
- 在「OAuth 設定」的「流程啟用」區段中,選取「啟用程式碼和認證流程」。
-
控制您的應用程式是否需要在要求中將其取用者密碼 (
client_secret) 傳送至權杖端點如果您使用用戶端後端為私人用戶端實作此流程,請選取「 需要授權代碼和認證流程的 POST 內文中使用者認證」。請確保您的用戶端後端可以保護取用者密碼安全。如果您將此流程搭配公用用戶端使用,例如單一頁面應用程式,請取消選取「 需要授權代碼和認證流程 POST 內文中的使用者認證」,以 避免瀏覽器中洩露取用者密碼。 - (選用) 若流程需要 Proof Key for Code Exchange (PKCE) 擴充功能,請選取「需要所支援授權流程適用的 Proof Key for Code Exchange (PKCE) 擴充功能」。強烈建議公用用戶端使用 PKCE,因為這些應用程式無法使用取用者密碼來保護代碼交換。我們也建議將其用於私人用戶,但這不像公用用戶端那麼重要。
-
請儲存您的變更。
儲存變更後,Salesforce 會將您導向至「外部用戶端應用程式原則」索引標籤。
-
進入「設定」,在「快速尋找」方塊中輸入 外部用戶端應用程式,然後選取「外部用戶端應用程式管理員」。在應用程式旁邊,按一下
-
編輯外部用戶端應用程式原則。
-
如果您還不在應用程式的「原則」索引標籤。進入「設定」,在「快速尋找」方塊中輸入 外部用戶端應用程式,然後選取「外部用戶端應用程式管理員」。在應用程式旁邊,按一下
,然後選取「編輯原則」。
- 針對「應用程式原則」中的「允許的使用者」,選取「管理員批准的使用者均獲得預先授權」。
- 若要管理員批准使用者,請選取指派給應用程式使用者的權限集。如需詳細資訊,請參閱權限集。
- 請儲存您的變更。
您的應用程式現在可以使用「授權代碼和認證流程」進行無周邊登入、無密碼登入和註冊。 -
如果您還不在應用程式的「原則」索引標籤。進入「設定」,在「快速尋找」方塊中輸入 外部用戶端應用程式,然後選取「外部用戶端應用程式管理員」。在應用程式旁邊,按一下
-
若要針對來賓使用者流程變化使用您的應用程式,請設定這些其他可設定的 OAuth 原則。
- 若要啟用來賓使用者變化,請開啟「為來賓使用者啟用 代碼和認證流程」。
- 若要定義來賓存取權杖在核發後有效的時間長度,請選取「來賓 JSON Web 權杖 (JWT) 逾時」的選項。
- 請儲存您的變更。
使用中繼資料 API
使用中繼資料 API 為授權代碼和認證流程設定外部用戶端應用程式。
若要使用「授權代碼和認證流程」,則 OauthOidcSettings 中繼資料類型上的 oAuthCdCrdtFlowEnable 欄位必須是 true。
您必須為外部用戶端應用程式啟用 OAuth 外掛程式。如需詳細資訊,請參閱這些資源。
「授權代碼和認證流程」的來賓使用者變化僅支援 JSON Web 權杖 (JWT) 型存取權杖。若要使用此流程變化,請 啟用您的外部用戶端應用程式來核發 JWT 型存取權杖。
-
(僅限開發人員) 在外部用戶端應用程式的 全域 OAuth 設定檔案中設定這些設定。
-
將 isCodeCredFlowEnabled 欄位設定為
true。 -
(選用) 基於安全考量,若要要求您的應用程式將 POST 要求內文中的使用者認證傳送至授權端點,請將 isCodeCredPostOnly 設定為
true。設定為false時,您可以使用 POST 或 GET 要求,且使用者的認證可以位於要求內文或基本授權標題中。 -
若要控制您的應用程式是否需要在要求中將其取用者密碼 (
client_secret) 傳送至權杖端點,請設定 isConsumerSecretOptional 欄位。如果您使用用戶端後端為私人用戶端實作此流程,請將此欄位設定為true。請確保您的用戶端後端可以保護取用者密碼安全。如果您將此流程與公用用戶端搭配使用,例如單一頁面應用程式,請將此欄位設定為false,以避免在瀏覽器中洩露取用者密碼。 -
(選用) 若要為您的流程要求 Proof Key for Code Exchange (PKCE) 擴充功能,請將 isPkceRequired 設定為
true。強烈建議公用用戶端使用 PKCE,因為這些應用程式無法使用取用者密碼來保護代碼交換。我們也建議將其用於私人用戶,但這不像公用用戶端那麼重要。 - 部署變更。
如需詳細資訊,請參閱 設定外部用戶端應用程式全域 OAuth 設定。 -
將 isCodeCredFlowEnabled 欄位設定為
-
修改應用程式的可設定 OAuth 原則。
-
將 permittedUsersPolicyType 的值設定為
AdminApprovedPreAuthorized。
備註 儲存此變更會造成所有目前使用該應用程式的使用者失去存取權。 - 若要定義管理員批准的使用者,請使用 權限集。輸入 commaSeparatedPermissionSet 欄位的權限集識別碼清單。
您的應用程式現在可以使用「授權代碼和認證流程」進行無周邊登入、無密碼登入和註冊。 -
將 permittedUsersPolicyType 的值設定為
-
若要針對來賓使用者流程變化使用您的應用程式,請設定這些其他可設定的 OAuth 原則。
-
若要啟用來賓使用者變化,請將 isGuestCodeCredFlowEnabled 設為
true。 -
若要定義來賓存取權杖在核發後有效的時間長度,請使用下列其中一個選項。
來賓使用者權杖逾時選項 組態 使用 Experience Cloud 來賓使用者逾時—透過此選項,Salesforce 會使用在「工作階段逾時後」欄位中,在 來賓使用者設定檔工作階段設定中定義的逾時。如果使用者沒有設定檔工作階段逾時,Salesforce 會使用您 組織工作階段設定中「逾時值」欄位的值。如果兩者皆已定義,Salesforce 會預設為設定檔工作階段逾時。 將 guestJwtSessionTimeoutType 欄位設定為 UserSession。設定僅適用於此應用程式的逾時值。 - 將 guestJwtSessionTimeoutType 欄位設定為
Custom。 - 針對 guestJwtTimeout 欄位,請以分鐘為單位設定逾時值。如需有效值的清單,請參閱《中繼資料 API 開發人員指南》中的 ExtlClntAppOauthConfigurablePolicies。
- 將 guestJwtSessionTimeoutType 欄位設定為
- 部署變更。
-
若要啟用來賓使用者變化,請將 isGuestCodeCredFlowEnabled 設為

