Skip to content
Pedro Mora
Go back

Okta Certified Professional — Lab: Attribute Mapping and SAML Assertion Validation

These are my lab notes from the Okta Professional Certification hands-on track. This lab builds on the IAMShowcase SAML integration — the app is already wired up, now the focus is on attribute flow.

The exam skill this maps to:

Define attribute mappings to push attributes from Okta to an application.

Maps to exam: Part II — Attribute Mapping and Offboarding (20%) · See the full lab map on the Okta Professional Cert Study Map or the official study guide.


Lab Setup

Use the existing real SAML app: CERT Real SAML Test SP Test user: cert.employee1


Step 1 — Confirm User Profile Values

Directory → People → cert.employee1 → Profile

Verify these custom attributes are populated:

AttributeValue
certWorkerTypeEmployee
certRegionLATAM
certCostCenterFIN-100

If certCostCenter is blank, add FIN-100 and save.

User profile with custom attribute values


Step 2 — Confirm SAML Attribute Statements

Applications → CERT Real SAML Test SP → General → SAML Settings → Edit

Confirm or add all six attribute statements:

SAML Attribute NameValue
firstNameuser.firstName
lastNameuser.lastName
emailuser.email
certWorkerTypeuser.certWorkerType
certRegionuser.certRegion
certCostCenteruser.certCostCenter

SAML attribute statements configured

Save.


Step 3 — Test the Assertion

Open a private browser. Sign in as cert.employee1 and launch CERT Real SAML Test SP.

In IAMShowcase, verify the assertion contains the custom values:

certWorkerType = Employee
certRegion     = LATAM
certCostCenter = FIN-100

IAMShowcase displaying assertion with custom attributes


Step 4 — Dynamic Attribute Test

Back in Okta Admin, change cert.employee1 → certRegion to EMEA. Save.

Launch the app again in a private browser.

Expected: the assertion now shows certRegion = EMEA.

Okta generates the assertion at runtime from the current profile — the attribute value is not cached. Change it back to LATAM when done.


Step 5 — Break/Fix Drill

Remove the certRegion attribute statement from the app’s SAML settings. Launch the app again.

Expected: IAMShowcase no longer shows certRegion in the assertion.

Add it back: certRegion = user.certRegion. Verify it reappears.

This is the fastest way to internalize the relationship between attribute statements and assertion output.


Step 6 — System Log

Reports → System Log → search cert.employee1

Look for this event chain:

EventMeaning
user.account.update_profileAttribute source changed
policy.evaluateAuth/app policy matched
user.authenticationUser authenticated
app.samlAssertion released to SP

Success Criteria

You’re done when you can demonstrate:

  1. cert.employee1’s profile has custom attribute values.
  2. The SAML assertion at IAMShowcase reflects those values.
  3. Changing certRegion in Okta changes the assertion output on next launch.
  4. Removing an attribute statement removes it from the assertion.
  5. Adding it back restores it.

Exam Sentence

Okta profile attributes can be passed to applications through SAML attribute statements. If the user profile value changes, the app receives the updated value when the assertion is generated — Okta does not cache the assertion between sessions.


Share this post on:

Previous Post
Okta Certified Professional — Lab: User Lifecycle States (Suspend, Password Reset, Deactivate)
Next Post
Okta Certified Professional — Lab: Real SAML Integration with IAMShowcase