Salesforce-Platform-Identity-and-Access-Management-Architect Practice Test

Salesforce Spring 25 Release -
Updated On 1-Jan-2026

255 Questions

Universal containers (UC) would like to enable self - registration for their salesforce partner community users. UC wants to capture some custom data elements from the partner user, and based on these data elements, wants to assign the appropriate profile and account values. Which two actions should the architect recommend to UC? (Choose 2 answers)

A. Modify the communitiesselfregcontroller to assign the profile and account.

B. Modify the selfregistration trigger to assign profile and account.

C. Configure registration for communities to use a custom visualforce page.

D. Configure registration for communities to use a custom apex controller.

C.   Configure registration for communities to use a custom visualforce page.
D.   Configure registration for communities to use a custom apex controller.

Explanation:

To capture custom data elements during self-registration and use that data to assign dynamic Profile and Account values, you need to use a fully custom self-registration process.

C. Configure registration for communities to use a custom Visualforce page.
Since the goal is to capture custom data elements that aren't on the standard self-registration form (like "Partner Tier" or "Industry Code"), you must provide a way for the user to input this information.
A custom Visualforce page is required to build the registration form, including all standard and new custom fields. This page then references and calls the methods within the custom Apex controller (Option D) to process the submission. You would then configure the Community's Login & Registration settings to use this custom Visualforce page.

D. Configure registration for communities to use a custom Apex controller.
The core of the logic resides in the Apex Controller. Salesforce provides a default controller, CommunitiesSelfRegController, but for complex, conditional logic like assigning a profile based on custom data, you must create a custom Apex class that implements the Auth.ConfigurableSelfRegHandler interface or, for the older model, modify a copy of the default controller.
This custom Apex code allows you to access the submitted form data (including your custom fields), perform your business logic (e.g., query for an existing Account, create a new one, or determine the correct Profile ID based on the custom data), and finally, call the Site.createPartnerUser() method with the correct parameters for the new user's Account and Profile.

Why the other options are incorrect:
A. Modify the communitiesselfregcontroller...
While technically you would copy and modify this controller (or use the newer Auth.ConfigurableSelfRegHandler), the question asks for two high-level actions. The action is to configure the community to use a custom Apex controller, not just to modify the existing or copied code. More importantly, modifying the controller alone doesn't give you the custom fields—you need a custom UI (Visualforce Page) to capture that data.

B. Modify the self-registration trigger...
There is no standard "self-registration trigger." You can write a trigger on the User object, but this runs after the user object is initialized (but before DML, if using a before insert trigger). Using a Custom Apex Controller (Option D) is the recommended practice for enforcing complex logic, profile/account assignment, and conditional data processing during the self-registration process, ensuring the user is created correctly from the start.

Universal containers (UC) has a classified information system that it's call centre team uses only when they are working on a case with a record type of "classified". They are only allowed to access the system when they own an open "classified" case, and their access to the system is removed at all other times. They would like to implement SAML SSO with salesforce as the IDP, and automatically allow or deny the staff's access to the classified information system based on whether they currently own an open "classified" case record when they try to access the system using SSO. What is the recommended solution for automatically allowing or denying access to the classified information system based on the open "classified" case record criteria?

A. Use a custom connected App handler using apex to dynamically allow access to the system based on whether the staff owns any open "classified" cases.

B. Use apex trigger on case to dynamically assign permission sets that grant access when a user is assigned with an open "classified" case, and remove it when the case is closed.

C. Use custom SAML jit provisioning to dynamically query the user's open "classified" cases when attempting to access the classified information system

D. Use salesforce reports to identify users that currently owns open "classified" cases and should be granted access to the classified information system.

A.   Use a custom connected App handler using apex to dynamically allow access to the system based on whether the staff owns any open "classified" cases.

Explanation:

This solution uses Salesforce's platform features to enforce the required conditional access policy during the SAML SSO process.

Connected App Handler:
When Salesforce is configured as an Identity Provider (IdP), a Connected App represents the external system (the classified information system). You can configure this Connected App with a custom Apex handler.
Dynamic Logic:
The Apex handler executes when a user attempts to access the classified system via SSO. Inside the handler, the code can query the user's Salesforce data, specifically checking for any Case records with RecordType='classified' and IsClosed=false that the user owns.
Conditional Access:
Based on the query result, the Apex handler can dynamically allow or deny access.
If the user owns an open 'classified' case, the handler can proceed with the SSO process, potentially adding specific attributes to the SAML assertion to inform the external system.
If the user does not meet the criteria, the handler can throw an exception, halting the SSO process and denying access to the classified system.

Why other options are incorrect

B. Use Apex trigger on Case to dynamically assign permission sets:
This approach is reactive and not synchronous with the user's access attempt. The permission set might not be updated in time for the SSO attempt. Furthermore, a permission set is a static form of access control and cannot enforce the real-time, dynamic access requirement based on an open case. The user's access must be evaluated at the moment of login via SSO, which is exactly what a Connected App handler does.
C. Use custom SAML JIT provisioning:
Just-in-Time (JIT) provisioning is for creating and updating users during the initial login process, not for enforcing ongoing access control based on dynamic business logic. It would not remove access when the conditions are no longer met.
D. Use Salesforce reports:
Using reports is a manual process for identifying users. This approach is not automated, cannot be integrated into the SSO flow, and cannot enforce real-time access policies. It is a reporting tool, not an access control mechanism.

A consumer products company uses Salesforce to maintain consumer information, including orders. The company implemented a portal solution using Salesforce Experience Cloud for its consumers where the consumers can log in using their credentials. The company is considering allowing users to login with their Facebook or Linkedln credentials.
Once enabled, what role will Salesforce play?

A. Facebook and Linkedln will be the SPs.

B. Salesforce will be the service provider (SP).

C. Salesforce will be the identity provider (IdP).

D. Facebook and Linkedln will act as the IdPs and SPs.

B.   Salesforce will be the service provider (SP).

Explanation:

Requirement:
A consumer products company uses Salesforce Experience Cloud for a consumer portal where users log in with credentials. The company wants to allow login via Facebook or LinkedIn credentials.
Context:
In Single Sign-On (SSO), the Service Provider (SP) hosts the application users access (here, the Experience Cloud portal), while the Identity Provider (IdP) authenticates users and provides identity data (e.g., via OAuth or OpenID Connect). Salesforce supports social sign-on through Authentication Providers.

Why B is Correct:
Salesforce, hosting the Experience Cloud portal, is the application users access to manage consumer information and orders. When users log in with Facebook or LinkedIn credentials, Salesforce acts as the Service Provider (SP), relying on Facebook or LinkedIn to authenticate users. Salesforce receives identity data (e.g., via OAuth or OpenID Connect) from these providers to grant access to the portal.
Facebook and LinkedIn as IdPs:
These platforms authenticate users and provide identity information to Salesforce, making them the Identity Providers (IdPs).

Why Other Options are Incorrect:

A. Facebook and LinkedIn will be the SPs: Incorrect. Facebook and LinkedIn are not the applications users are accessing; they provide authentication services (IdPs). The Experience Cloud portal (Salesforce) is the SP.
C. Salesforce will be the identity provider (IdP): Incorrect. Salesforce is not authenticating users in this scenario; it relies on Facebook or LinkedIn for authentication, making Salesforce the SP, not the IdP.
D. Facebook and LinkedIn will act as the IdPs and SPs: Incorrect. Facebook and LinkedIn only authenticate users (IdPs); they do not host the portal application, so they are not SPs.

References
Salesforce Help: Authentication Providers
Trailhead: External Identity Basics

Universal Containers is creating a web application that will be secured by Salesforce Identity using the OAuth 2.0 Web Server Flow uses the OAuth 2.0 authorization code grant type). Which three OAuth concepts apply to this flow? Choose 3 answers

A. Verification URL

B. Client Secret

C. Access Token

D. Scopes

B.   Client Secret
C.   Access Token
D.   Scopes

Explanation:

The OAuth 2.0 Web Server Flow is designed for confidential clients (like a server-side web application) that can securely store a secret.

Client Secret (B):
This is a sensitive password-like value issued by Salesforce (the Authorization Server) when the connected app is created. The web application (Client) uses the Client Secret along with its Client ID and the Authorization Code to make a secure, back-channel request to the token endpoint to exchange the code for an Access Token. Because the web server can keep this secret confidential, it ensures that only the legitimate application can complete the authorization process.

Access Token (C):
This is the credential that the web application receives from Salesforce after successfully completing the code exchange. The application includes the Access Token in the authorization header of its API requests to access protected Salesforce resources on behalf of the user.

Scopes (D):
Scopes define the specific permissions or type of access the application is requesting. For example, a scope might be api (access to all Salesforce APIs), openid (access to the user's identity URL), or refresh_token (ability to get a new Access Token after the current one expires). The user sees and approves these scopes during the initial authorization step.

Why 'A' is incorrect

A. Verification URL:
The Verification URL is a concept specific to the OAuth 2.0 Device Flow, which is used for input-constrained devices (like Smart TVs or IoT devices). It is the URL a user visits on a separate device (like a phone or laptop) to enter the short user code and grant access. It is not part of the standard Web Server Flow.

An identity architect's client has a homegrown identity provider (IdP). Salesforce is used as the service provider (SP). The head of IT is worried that during a SP initiated single sign-on (SSO), the Security Assertion Markup Language (SAML) request content will be altered.
What should the identity architect recommend to make sure that there is additional trust between the SP and the IdP?

A. Ensure that there is an HTTPS connection between IDP and SP.

B. Ensure that on the SSO settings page, the "Request Signing Certificate" field has a self- signed certificate.

C. Ensure that the Issuer and Assertion Consumer service (ACS) URL is property configured between SP and IDP.

D. Encrypt the SAML Request using certification authority (CA) signed certificate and decrypt on IdP.

B.   Ensure that on the SSO settings page, the "Request Signing Certificate" field has a self- signed certificate.

Explanation:

Why:
In SP-initiated SAML, Salesforce (the SP) can digitally sign the AuthnRequest. When you set a Request Signing Certificate in Salesforce’s SAML SSO settings, Salesforce will sign each SAML request; the IdP validates that signature with the public key you’ve shared. This prevents tampering: if the request were altered, the signature check would fail. The certificate may be self-signed—what matters is that the IdP trusts the public key you configured.

Why not the others:
A. HTTPS protects transport but doesn’t provide the SAML message-level integrity that a digital signature provides.
C. Correct Issuer/ACS values are required for the flow to work, but they don’t protect against request alteration.
D. Encrypting the SAML request isn’t the usual control (requests are typically signed, not encrypted). Encryption also doesn’t prove integrity/authenticity by itself; signing does.

Salesforce-Platform-Identity-and-Access-Management-Architect Exam Questions - Home Previous
Page 3 out of 51 Pages