Modernizing Legacy SWA Apps to SAML/OIDC into Okta

Modernizing Legacy SWA Apps to SAML/OIDC into Okta

Secure Web Authentication was a clever bridge: Okta remembers a password and types it into an old login page for you. It works, but the password still exists, still travels and still lives inside the app. Moving those applications to modern sign-in standards removes the password from the picture. A first-principles guide to finding, planning, migrating and retiring SWA applications with Okta.

Brightwater Utilities supplies electricity and water to two million homes. It has twelve thousand employees and, in its Okta tenant, 340 applications. A hundred and forty of them use SWA: when a person clicks the tile, an Okta browser plugin opens the application’s old login page, fills in a stored username and password and presses the button. For years this was a great success. Nobody had to remember 140 passwords. Nobody had to wait for the vendor to add modern sign-in.

Then a contractor’s laptop was stolen. The plugin on that laptop held, in encrypted form, the credentials for nine applications. The company reset those nine passwords within the hour and was relieved. What it did not know was that 31 of the 140 SWA applications used a shared login: one username and one password for an entire team. The shared passwords had not been changed in four years, and eleven former employees still knew them. The auditor’s report said what the identity team already felt: “The tile hides the password from the user. It does not remove the password from the system.”

Modernizing means asking each application to trust Okta’s word about who the person is, using standards called SAML or OpenID Connect, instead of accepting a typed password that Okta fills in. The password disappears from the sign-in. The application can no longer be reached by guessing it. Leavers lose access the moment Okta says so. Okta offers several building blocks for this, including application integrations for SAML and OIDC, SCIM provisioning, authentication policies and an event log. Product names, features and editions change over time, so every Okta-specific statement in this guide is guidance to confirm against current official documentation, and every application-specific statement must be checked with the application vendor. What does not change is the thinking: how to find the applications, decide the target, migrate in safe waves, retire the old password and prove it. We start from zero and assume no earlier knowledge.

1Why the Old Way Worries Us

A password hidden from the person is still a password. Anything that can be typed can be stolen, guessed, shared or forgotten about.

When SWA is in use, three things are true at once. The application still has its own username and password for each person. Okta keeps a copy of that password so it can fill the login form. And the person can often still go to the application directly and type the password themselves, bypassing Okta altogether.

  • The password still exists. It can be phished, guessed, reused or leaked from either end.
  • Okta protects the tile, not the application. A stolen password works at the application’s own login page, with no second step.
  • Leavers are not fully cut off. Disabling the Okta account stops the tile, but the application account and its password remain until someone removes them.
  • Passwords are rarely rotated. The application owner has no reason to change a password that works.
  • Shared logins hide who did what. Records show a team account, not a person.
  • The browser plugin is a dependency. It must work on every browser, every version and every device.

None of this means SWA was a mistake. It was the best available bridge when applications could not do better. The question now is whether the bridge should remain the permanent road.

Analogy

A hotel can hide the room key behind the desk so guests do not lose it. The lock is still the same old lock, and anyone with a copy can still walk in.

2What SWA Is, and What It Is Not

A clear definition helps decide which applications should move first.

Secure Web Authentication, usually called SWA, is a way for Okta to sign a person in to an application that does not understand modern sign-in standards. Okta stores the person’s username and password for that application, protected by encryption. When the person clicks the application tile, a browser plugin or extension opens the login page and fills in the stored values.

What it is

  • A form-filling mechanism run by a browser plugin.
  • A way to give one place to click for applications with old-style login.
  • A stepping stone for applications that cannot yet use standards.

What it is not

  • It is not federation. The application never receives a signed statement from Okta; it receives a typed password.
  • It is not password-free. A password remains at the heart of it.
  • It is not app-level multi-step sign-in. Okta may require a second step to open the tile, but the application itself will accept a password alone if typed directly.
  • It is not provisioning. Creating and removing accounts in the application is a separate job.
  • It is not a permanent design. It is a bridge.
!

Verify: Exactly how your Okta edition offers SWA, which variants exist (for example, where the user supplies the password, where an administrator sets it, or where credentials are shared) and which browsers and plugins are supported should be confirmed in current official documentation.

Analogy

A bridge made of ropes gets travellers across the river. It is not the bridge you want for trucks.

3What Modernizing Means, and What It Does Not

Modernizing is a change in how the application trusts Okta. It is not a rewrite of the application.

To modernize an SWA application means to connect it to Okta using a standard federation protocol, usually SAML or OpenID Connect, so that the application accepts Okta’s signed statement of who the person is, and then to turn off the old password sign-in.

Modernizing includesModernizing does not require
Configuring the application to trust OktaRewriting the application
Mapping people to application accountsChanging what people do with the application
Turning off local password sign-inRemoving the application
Setting up automatic account creation and removal where possibleMoving to a new vendor, unless the old one cannot support standards
Testing, switching over and retiring the old tileA big-bang cutover for everyone at once
  • Often the application already supports SAML or OIDC; it simply was never switched on.
  • Sometimes support needs a higher licence tier from the vendor.
  • Sometimes the application is too old and needs a gateway, a replacement or a compensating control.

Asking “Does it support SAML or OIDC?” is the first question for each of the 140 applications. The answer decides almost everything that follows.

Analogy

Changing a door lock does not mean rebuilding the house. It means choosing a better lock and changing who holds the keys.

4Core Concepts: The Vocabulary of Federation

A handful of words appear again and again. Learn them once and the rest of the guide reads easily.

TermPlain meaning
SWASecure Web Authentication: Okta stores a password and fills the login form
FederationTrusting another system to prove who someone is
Identity provider (IdP)The system that proves identity: here, Okta
Service provider (SP) or relying partyThe application that trusts the IdP
SAMLAn older but widely supported standard that sends a signed statement from IdP to application
OpenID Connect (OIDC)A newer standard built on web tokens, common for modern and mobile applications
Assertion or tokenThe signed note that says who the person is
Claim or attributeA fact inside the note, such as email address or group
Single sign-on (SSO)Signing in once and reaching many applications
SCIMA standard way to create, update and remove accounts in applications automatically
Just-in-time (JIT) creationMaking the account the first time the person signs in
Metadata and certificateTechnical files that tell each side how to recognise the other
Enforcing SSOTurning off the application’s own password login

Keep apart two ideas that are easy to confuse: sign-in proves who you are when you arrive; provisioning makes sure your account exists, has the right access and is removed when you leave. A modern setup does both.

Analogy

A passport (federation) tells the border guard who you are. A visa office (provisioning) decides whether you may enter at all. Travel needs both.

5How SWA Works Inside

Understanding the mechanism shows exactly where the weaknesses sit.

1

Credential stored

Either the user or an administrator saves a username and password for the application in Okta, in encrypted form.

2

Tile clicked

The person clicks the application tile in Okta.

3

Plugin wakes

The Okta browser plugin recognises the application’s login page.

4

Form filled

The plugin decrypts the stored values on the person’s device and fills the username and password fields.

5

Button pressed

The plugin submits the form, as if the person had typed it.

6

Application decides

The application checks the password in its own database and opens a session.

  • The application never knows Okta was involved. It sees only a normal password login.
  • Any change to the login page can break the form filling.
  • The plugin must be installed and healthy on every device.
  • The password is decrypted on the device at the moment of use.
  • Anyone who learns the password can skip Okta entirely.

The last point matters most. The strength of the whole chain is the strength of a password that lives in two places and can be typed by anyone.

Analogy

A butler who unlocks the front door with the family key is convenient. The key still opens the door for whoever else has a copy.

6The Risks of SWA in Detail

Auditors and attackers both look for the same things.

RiskWhat happensWhich fix helps
Password phishingAttacker obtains the application password and signs in directlyFederation with enforced SSO
Password reuseSame password elsewhere, so a breach elsewhere opens this appRemove passwords from the flow
Shared accountsNo individual accountabilityIndividual accounts through SSO and provisioning
Orphaned application accountsLeavers keep working passwordsAutomatic deprovisioning
Unrotated passwordsOld secrets live for yearsNo password to rotate
No app-level second stepPassword alone opens the appPolicies at the Okta sign-in
Plugin failuresBreakage after browser updatesStandard redirect-based sign-in
Weak loggingApp shows a team login, not a personIndividual identity in logs
  • Rank applications by how bad the loss would be, not by how annoying the migration is.
  • Treat shared logins as the highest-risk SWA pattern.
  • Treat internet-facing applications as higher risk than internal ones.
Analogy

A castle with a strong gate and a side door unlocked is judged by the side door.

7Why SWA Existed, and Why It Is Still Useful Sometimes

A fair account of the past makes better decisions about the future.

When Okta and similar services appeared, most business applications knew only usernames and passwords. SWA let companies offer a single place to click years before vendors added standards. It brought real benefits: fewer forgotten passwords, a central list of applications and a way to remove a leaver’s tile.

Advantages

  • Works with almost any web login page
  • No change needed at the vendor
  • Quick to set up for a single application
  • Gives users one place to start
  • Useful as a temporary bridge

Disadvantages

  • Password remains the core
  • Needs a plugin and healthy browsers
  • Does not enforce strong sign-in at the app
  • Poor for shared accounts and accountability
  • Does not remove accounts when people leave
  • Fragile when login pages change
  • Keep SWA for genuinely stuck applications, with extra controls.
  • Never design a new integration as SWA if the application supports standards.
  • Record every remaining SWA application with an owner and an end date.
Analogy

A temporary bridge is a fine thing to have. It is a poor thing to forget.

8SAML and OIDC in Plain Words

Both standards do the same basic job: let one system prove to another who a person is, without handing over a password.

Imagine a conference. You show your identity at the registration desk, and the desk gives you a signed badge. At each room, the guard does not ask for your passport again; the guard checks that the badge is genuine and reads the name on it. The registration desk is Okta. The badge is the assertion or token. The room is the application.

SAML

  • Older, very widely supported by business software.
  • The statement is an XML document signed by Okta.
  • Typical for browser sign-in to web applications.
  • Needs certificates that expire and must be renewed.

OpenID Connect

  • Newer, designed for web, mobile and programming interfaces.
  • The statement is a token in a compact signed format.
  • Typical for modern and mobile applications.
  • Uses keys published at known addresses, which are rotated automatically in many setups.

For a legacy application, the choice is usually made for you: use what the vendor supports. If both are offered, many teams prefer OIDC for new work and SAML where the vendor’s SAML support is more mature.

Analogy

Two embassies issue passports in different formats. Both are accepted at the border if the border guard recognises them.

9Choosing the Target Pattern for Each Application

Not every legacy application will become a SAML or OIDC application. Choose the right target for each.

TargetWhen to choose itWatch for
SAMLVendor supports it, especially older enterprise softwareCertificate renewal, attribute mapping
OIDCVendor supports it, modern or mobile appsRedirect addresses, token lifetimes
Gateway or reverse proxyApp has no standards support but sits behind a controllable addressExtra component to run and secure
Header-based integrationApp trusts identity headers from a front endMust prevent anyone bypassing the front end
ReplaceVendor out of business or app is end of lifeProject cost and change for users
RetireApp is no longer usedArchive and data retention
Keep SWA with compensating controlsTruly stuck for nowTight limits and an end date
  • Ask the vendor first. Support often exists and was never switched on.
  • Check licence tiers: some vendors charge more for SSO features.
  • Choose replace or retire early for dead applications; do not spend effort modernizing them.
  • Record the decision and reason per application.
Analogy

When a road is blocked you choose a detour, a new bridge or no trip at all. Each has a cost.

10Provisioning with SCIM: Accounts That Follow the Person

Sign-in is half the job. The other half is making sure the right accounts exist, change and disappear.

SCIM is a standard way for Okta to tell an application, “Create an account for this person,” “Change their department,” and “Deactivate them.” Where an application supports it, accounts are created and removed automatically as the person joins, moves and leaves.

Without provisioningWith provisioning
An administrator creates accounts by handAccount appears when the person is assigned
Leavers keep accounts until someone remembersAccount is deactivated when Okta says so
Roles are set by hand and driftRoles follow groups in Okta
Evidence is scatteredEvents recorded in Okta
  • Not every application supports SCIM; some offer just-in-time creation at first sign-in, or an older provisioning interface.
  • Without any automation, plan a manual process with tickets and checks.
  • Never think of SSO alone as leaver protection if the application keeps working local passwords.
!

Verify: Which of your applications support SCIM or another provisioning method, which actions are supported (create, update, deactivate) and what your Okta edition includes should be confirmed with the vendor and in current documentation.

Analogy

A company badge is useful only if the badge office also creates it on day one and cancels it on the last.

11Two Ways to Sign In, Side by Side

The picture shows what changes and what disappears.

flowchart LR
    subgraph SWA["SWA: password fill"]
    A1["Person clicks tile"] --> A2["Plugin fills stored password"]
    A2 --> A3["App checks its own password"]
    end
    subgraph FED["Federation: SAML or OIDC"]
    B1["Person clicks tile"] --> B2["Okta checks person and policy"]
    B2 --> B3["Okta sends signed statement"]
    B3 --> B4["App trusts the statement"]
    end
    
Figure 1. With SWA the application receives a password; with federation it receives a signed statement and never sees a password.
AspectSWASAML / OIDC
What the app receivesTyped username and passwordSigned statement from Okta
Where the password livesIn the app and in OktaNowhere for this sign-in
App can be reached directly with passwordYesNo, once SSO is enforced
Second step enforcedOnly at the tileAt the Okta sign-in for every use
Leaver cut-offTile onlyAll sign-in, plus accounts with provisioning
AccountabilityMay be a team loginIndividual identity
Plugin neededYesNo
Analogy

Handing the guard a key is different from showing a badge the guard can verify.

12Architecture and Components of the Migrated Setup

After migration, a handful of parts do the work.

flowchart TD
    U["Employee or contractor"] --> OK["Okta sign-in and policies"]
    OK --> SSO["SAML or OIDC integration per app"]
    SSO --> APP["Modernized application"]
    OK --> PRV["Provisioning (SCIM or other)"]
    PRV --> APP
    GRP["Groups and rules in Okta"] --> SSO
    GRP --> PRV
    OK --> LOG["System Log and monitoring"]
    GW["Gateway or reverse proxy"] -.-> LEG["Legacy app that cannot use standards"]
    OK -.-> GW
    
Figure 2. Okta handles sign-in and policy; integrations carry the signed statement; provisioning manages accounts; a gateway covers apps that cannot speak standards.
ComponentResponsibility
Okta sign-in and policiesProve identity, apply strong sign-in rules
Application integrationThe trust link between Okta and the app
ProvisioningCreate, update, remove accounts
Groups and rulesDecide who gets which app and role
Gateway (where needed)Bridge apps that cannot use standards
Logs and monitoringEvidence and early warning

Notice that groups feed both sign-in and provisioning. One decision about who should have the app flows to both halves.

Analogy

A railway has tracks, signals and a control room. Remove any and the timetable collapses.

13Internal Working: One Federated Sign-In, Step by Step

Follow Anita from Brightwater’s billing team as she opens a migrated application.

sequenceDiagram
    participant A as Anita
    participant O as Okta
    participant S as Billing application
    A->>O: Clicks the billing tile
    O->>A: Checks session, asks for second step if policy says so
    A->>O: Proves identity
    O->>O: Applies app policy: group, device, network
    O->>S: Sends signed statement with email and role
    S->>S: Verifies signature and audience
    S->>S: Matches email to existing account
    S->>A: Opens session, no password typed
    
Figure 3. Okta proves who Anita is, applies policy and sends a signed statement; the application checks and opens a session.
1

Click

Anita opens the tile or goes to the application and is redirected to Okta.

2

Prove

Okta checks she is signed in and, if the policy requires, asks for a second step.

3

Policy

Okta checks group membership, device and network for this application.

4

Statement

Okta creates a signed statement with her email and role.

5

Check

The application verifies the signature, the intended audience and the time.

6

Match

The application finds her existing account by email or another identifier.

7

Session

The application opens her session without a password.

Notice step six. If the application cannot match the statement to her existing account, she gets a blank account, a new duplicate, or an error. Matching is where most migrations stumble.

Analogy

A guard checks the badge, reads the name, and finds the person on the guest list. If the list has a different spelling, the guest waits outside.

14Okta Building Blocks for the Migration

List what Okta offers before planning the work.

Okta capabilityHow it helps
Application catalogue and custom integrationsPrebuilt or custom SAML and OIDC connections
Provisioning integrations and SCIMAutomatic account lifecycle
Groups and group rulesAssign access and roles
Authentication policiesSecond steps and conditions per app
Network zones and device conditionsPlace and device rules
WorkflowsCustom steps such as ticket creation
Reports and System LogUsage, errors and evidence
Preview environmentTest integrations safely
Access gateway or similar productsBridging legacy apps
!

Verify: Which of these capabilities are included in your Okta edition, the exact names of products for legacy gateways and their current availability should be confirmed in current official documentation.

Analogy

A builder lists tools and materials before quoting the job.

15Discovery: Finding Every SWA Application

You cannot modernize what you have not counted.

Start by listing every application that uses SWA in Okta. Then go further, because the list inside Okta is rarely the whole story.

  • Export the application list from Okta and filter for SWA sign-in modes.
  • Pull usage reports: who signs in, how often, last use.
  • Check shared credential applications separately; they are the riskiest.
  • Ask application owners and teams about tools used outside Okta.
  • Review browser extension deployments and password manager exports for forgotten logins.
  • Look at expense and procurement records for software nobody told IT about.
SourceWhat it reveals
Okta application listKnown SWA apps
Usage reportsDead or rarely used apps
Owners and managersReal purpose and users
ProcurementUnlisted tools
Network or proxy dataSites people really use
!

Verify: Which reports and exports your Okta edition provides for application sign-in methods and usage should be confirmed in current documentation.

Analogy

Before moving house you count the boxes in every cupboard, even the ones you forgot.

16Classifying Applications: Risk, Use and Ownership

Once found, each application needs a few facts recorded.

FactWhy it matters
OwnerSomeone must decide and test
Data it holdsDrives risk and priority
Number of users and frequencyDrives impact and communication
Shared or individual accountsShared is highest risk
Internet-facing or internalExposure
Vendor and versionDetermines support for standards
Contract renewal dateMoment of leverage for vendor changes
Current sign-in method and notesStarting point
DependenciesOther apps or scripts that sign in the same way
  • Keep it in one register, not in many spreadsheets.
  • Assign a risk tier using data sensitivity, exposure and shared accounts.
  • Record unknowns honestly and chase them.

This register is the backbone of the programme. Every later chapter refers back to it.

Analogy

A ship’s manifest lists every crate, its weight and its destination. Without one, loading is guesswork.

17Questions to Ask Each Vendor

A short, standard list saves weeks of back-and-forth.

QuestionWhy it matters
Do you support SAML, OIDC or both for sign-in?Decides the target
Which licence tier includes SSO?Cost
Can local password sign-in be disabled for users?Needed to close the back door
How does your product match a signed statement to an account?Matching rules, identifiers
Do you support SCIM or another provisioning method?Lifecycle
Can roles be set from attributes in the statement?Role mapping
How does single logout work?Session handling
What are your certificate or key renewal steps?Operations
Is there an administrator who is exempt from SSO?Break-glass design
What happens to existing accounts when SSO is switched on?Migration risk
  • Send the questions in writing and keep the answers.
  • Ask for documentation links, not just yes or no.
  • Ask the vendor for a test tenant if possible.
  • Record vendor contacts and support routes.
Analogy

Before hiring a builder you ask the same ten questions of every builder.

18Prioritising: Building the Waves

You cannot move 140 applications at once. Group them into waves.

WaveContentsReason
Wave 0Pilot: three willing, low-risk appsLearn the process
Wave 1Highest-risk apps with vendor support ready: shared accounts, sensitive data, internet-facingBiggest risk reduction
Wave 2Medium-risk apps with straightforward supportSteady progress
Wave 3Apps needing vendor upgrades or licence changesWait for contracts
Wave 4Gateway, replace or retire candidatesLonger projects
OngoingStuck apps with compensating controlsReviewed quarterly
  • Mix quick wins with risky targets so that progress is visible and risk falls early.
  • Avoid waves that hit one team too hard at once.
  • Align waves with contract renewals where possible.
  • Respect business calendars: no migrations during month-end for finance apps.
  • Review the plan monthly.
Analogy

Moving house is easier room by room. Starting with the attic and the garage teaches you how the boxes behave.

19Matching People: Identifiers and Existing Accounts

The most common reason a cutover fails is that the application cannot tell which existing account belongs to which person.

Before SSO, the application knows people by a username it has stored: maybe a short code, an old email address or a full name. After SSO, Okta sends a statement with an identifier such as an email address or employee number. The application must connect the two.

ProblemEffectFix
Application username is a short code; Okta sends emailNo match; new blank accountMap attribute, or update the application usernames
Old email addressesMismatch for people who changed namesNormalise identifiers before cutover
Case differencesMatch fails for some peopleAsk vendor about case handling
Duplicate accounts for one personWrong account chosenMerge or retire duplicates
Shared loginsNo individual to matchCreate individual accounts first
Contractors with personal emailsMismatchUse company identities
  • Run a matching report: for each user in the application, which Okta user matches?
  • Fix unmatched users before cutover.
  • Choose a stable identifier that does not change when people change name.
  • Test with real samples, including awkward cases.
!

Careful: If matching uses an identifier that an attacker can control, such as a self-chosen email, an attacker may gain access to someone else’s account. Use identifiers controlled by your organisation.

Analogy

A guest list with misspelt names leaves guests standing at the door.

20Shared and Generic Accounts

A single login used by many people is the biggest hidden risk in an SWA estate.

Shared accounts exist because licences were limited, because setup was quick, or because someone created a login for a team and nobody changed it. They make it impossible to know who did what, and they survive staff changes.

OptionHow it worksNotes
Create individual accountsEveryone gets their own login via SSO and provisioningBest option; may cost licences
Role-based accounts through SSOA few named roles, each assigned to individualsGood when licences are tight
Keep one shared account behind SSO with checkoutAccess through a vault with loggingCompensating control only
Retire the applicationIf used rarelyConsider replacement
  • List every shared SWA login and who knows the password.
  • Change those passwords at cutover and every time someone leaves while the account exists.
  • Aim to eliminate shared accounts, not to hide them better.
  • Where licences are the barrier, raise it with the business as a risk decision.
Analogy

A key hung on a nail by the door is convenient and tells you nothing about who came in.

21Closing the Back Door: Turning Off Local Passwords

A modernized application that still accepts passwords is only half modernized.

After SSO is working, the application’s own login page may still accept usernames and passwords. An attacker with a phished or leaked password can use it, ignoring Okta completely. The job is not done until local password sign-in is disabled for ordinary users.

1

Confirm SSO works for everyone

All users have signed in via SSO at least once, or have been tested.

2

Disable password sign-in

Use the vendor setting that enforces SSO for ordinary users.

3

Keep a controlled exception

One or two emergency administrator accounts with long unique passwords, stored securely, alerted on use.

4

Rotate remaining passwords

Anything that survives must be changed.

5

Test the closure

Try to sign in with a local password and confirm it fails.

6

Record the evidence

Setting screenshot or export, test result, exception register.

  • Some vendors cannot disable local passwords for administrators; document and compensate.
  • Some applications keep programming interfaces with their own keys; review them separately.
  • Some have mobile clients that use passwords; check them.
!

Verify: Whether each vendor allows local password sign-in to be disabled, and exactly how, should be confirmed with the vendor for every application.

Analogy

Locking the new front door while leaving the old back door open fools nobody.

22Attributes, Roles and Claims

The signed statement can carry more than a name. It can carry what the person is allowed to do.

AttributeUsed forSource in Okta
Email or employee numberMatching the accountProfile
First and last nameDisplay and recordsProfile
DepartmentRouting and reportingProfile
Role or groupWhat the person may do in the appGroups
ManagerApprovalsProfile
RegionData accessProfile
  • Send only the attributes the application needs.
  • Define roles in Okta groups, and map each group to an application role.
  • Check the application’s role names exactly; a mistyped role can lock people out or grant too little.
  • Beware of attributes users can edit themselves; do not base roles on them.
  • Review default roles: new users should not get powerful roles by accident.
!

Careful: Do not send sensitive attributes that the application does not need. Each extra attribute is more data in transit and more to protect.

Analogy

A badge shows a name and a colour. The colour decides which doors open.

23Assigning Access Through Groups

Move from one-by-one assignment to rule-based groups.

  • Create groups that match job functions or application roles.
  • Use group rules based on profile data, where profile data is trustworthy.
  • Assign groups to applications, not individuals.
  • Name groups clearly: app, role, purpose.
  • Give groups owners.
  • Plan access reviews for sensitive groups.
Old way (SWA)New way
User assigned to a tile one by oneGroup assigned to the app with a role
Password set per userNo password at all
Leaver tile removedLeaver removed from groups; accounts deactivated

This is also the best moment to clean up who has access. Do not copy bad assignments from the old tile into the new groups. Ask owners to confirm.

Analogy

A school assigns classes by year group, not by choosing each child’s desk.

24Migration Waves and the Cutover Steps

Each application passes through the same steps, whatever its wave.

flowchart TD
    A["Application selected for migration"] --> B["Vendor confirms SAML or OIDC support"]
    B --> C["Configure integration in test or preview"]
    C --> D["Match users and fix identifiers"]
    D --> E["Pilot with a small group"]
    E --> F{"Pilot successful?"}
    F -->|"No"| C
    F -->|"Yes"| G["Announce cutover date"]
    G --> H["Switch tile to federation, run parallel period"]
    H --> I["Enforce SSO, disable local passwords"]
    I --> J["Rotate or remove old credentials"]
    J --> K["Retire SWA tile, record evidence"]
    
Figure 4. Each application moves from vendor confirmation through pilot, parallel run, enforcement and retirement.
StageTypical duration
Vendor confirmation1 to 3 weeks
Configure and match1 to 2 weeks
Pilot1 week
Parallel run1 to 4 weeks
Enforcement and retirement1 week

Durations are illustrations. Simple applications move in days; complicated ones take months because of vendor work.

Analogy

A ship docks, unloads, inspects and is released. The order does not change, only the time each step takes.

25Parallel Running and Coexistence

For a short time, the old and new sign-in may both work. Plan it carefully.

  • Run the federated and SWA tiles side by side for a limited period.
  • Make the new one the default and label the old one clearly.
  • Set an end date and tell everyone.
  • Watch usage numbers: how many still use the old path?
  • Chase stragglers by name.
  • Do not leave the old path open indefinitely.
Risk of parallel runningControl
Users keep using the old pathEnd date, reminders, usage tracking
Confusion over two tilesClear naming
Attackers exploit the old pathTime limit and monitoring
!

Careful: A parallel period without an end date becomes permanent. Put the date in the plan and in the communication.

Analogy

When a new bridge opens, the old ferry runs a few more weeks, then stops.

26Testing the Migration: Functional Checks

Each application needs a test list before and after.

TestPass looks like
Sign in from the Okta tileLands in the right account, no password asked
Sign in by going straight to the applicationRedirected to Okta, then in
Right account is matchedExisting data visible, no duplicate
Roles map correctlyEach role sees expected features
New user is created correctly (provisioning or JIT)Account exists with right role
User is removed on leavingAccount deactivated
Sign out behaves as designedSession ends as expected
Mobile or desktop clientWorks with SSO or documented alternative
  • Test with real people in each role, not only administrators.
  • Test on the browsers and devices people really use.
  • Keep test accounts for each role.
  • Record results in the register.
Analogy

Before a plane enters service, every control is moved and every light is checked.

27Testing the Migration: Negative and Edge Cases

Mistakes love the edges. Test what should fail.

  • A user not in the group is refused.
  • A leaver cannot sign in by any path.
  • A local password no longer works, once enforcement is on.
  • A stolen statement is rejected after expiry.
  • A user with two accounts in the application is handled safely.
  • A user whose email changed still matches.
  • A very long session ends at the expected time.
  • A user from a blocked place is refused by policy.
CaseExpected
User outside the group clicks the app linkRefused at Okta
Local login with old password after enforcementRefused
Leaver tries direct app URLRedirected to Okta, refused
Administrator emergency accountWorks, raises an alert
!

Verify: How each application handles expired statements, clock differences and duplicate accounts should be confirmed during vendor testing.

Analogy

A lock is tested by trying to open it without the key.

28Mobile Apps and Desktop Clients

Not everyone reaches an application through a web browser.

Many business applications have mobile apps and desktop programs. These clients may use their own sign-in screens and, in older products, a stored password. SWA through a browser plugin does nothing for them. Modernizing is a chance to fix them too.

ClientCommon issueApproach
Mobile app from the vendorMay not support SSO or needs a special login flowCheck vendor SSO for mobile; use system browser sign-in where supported
Desktop thick clientStores its own passwordCheck for SSO support; otherwise gateway or keep with controls
Programming interfaces and scriptsUse keys or passwordsMove to API tokens or service identities with owners
Email or sync clientsLegacy password protocolsMigrate to modern authentication
  • Ask the vendor about client support for SSO before the cutover.
  • Test real devices.
  • Plan communication specifically for mobile users.
  • Handle device-level rules, such as managed device requirements.
!

Verify: Which clients the vendor supports for SAML or OIDC and how Okta handles mobile sign-in should be confirmed in vendor documentation and Okta documentation.

Analogy

A shop has a front door and a delivery door. Locking only one leaves the other.

29Retiring the Browser Plugin and SWA Tiles

The last step of each migration is removing the old path.

  • Remove the SWA tile and the old integration from users once the federated one is live.
  • Delete the stored credentials held for that application.
  • Remove the application from plugin deployment lists if the plugin is no longer needed.
  • When no SWA applications remain, retire the plugin itself from devices.
  • Update help pages and training.
  • Record the retirement date in the register.
Item to retireWhy
Old tileAvoid confusion
Stored credentialsReduce the stock of secrets
Shared passwordNo longer needed; change the application password
Plugin deploymentFewer moving parts on devices

Retirement is the step teams skip. Without it, the old password still exists and the old path still works.

Analogy

After a new bridge opens, someone must close the old crossing, or people keep using it.

30Legacy Applications Behind a Gateway

Some applications cannot speak SAML or OIDC at all. A gateway can stand in front of them.

A gateway, or reverse proxy, sits between the person and the application. The person signs in to Okta. The gateway checks the result and then passes the person to the application, sometimes by adding identity details to the request, and sometimes by filling the application’s own login in a controlled way.

ApproachHow it worksWatch for
Header-based sign-inGateway adds identity headers the app trustsThe app must accept headers only from the gateway
Form replay by the gatewayGateway signs in to the app with a managed credentialCredential management and rotation
Network-level controlsOnly the gateway can reach the appBypass routes must be closed
  • Place the application on a network where only the gateway can reach it.
  • Protect the gateway as a high-value system.
  • Plan for availability: if the gateway fails, so does access.
  • Record the gateway as a temporary measure with an end date where possible.
!

Verify: Which Okta products or partner tools provide gateway capability, and whether they are available in your edition, should be confirmed in current official documentation.

Analogy

An interpreter at the door lets a visitor who speaks only one language talk to a host who speaks another. The host still needs to be safe.

31Applications That Cannot Be Modernized Yet

Some applications are stuck, and honesty about them is better than pretending.

ReasonCompensating controls
Vendor has no standards support and no gateway optionRestrict by network; MFA at tile; shorter credential life; monitor
Contract expires in two yearsPlan replacement; reduce users
Used by a handful of peopleReview access quarterly; consider retiring
Embedded in an old processDocument the dependency; plan project
  • Keep a list of stuck applications with owners and end dates.
  • Apply extra controls: network limits, stronger tile policy, frequent access review, password rotation.
  • Review the list quarterly; each vendor update may unlock support.
  • Tell the business the risk and get an owner to accept it in writing.
!

Careful: A compensating control that nobody checks is a hope. Assign an owner and a test.

Analogy

A very old bridge still carries traffic, but with a weight limit and an inspector.

32Working With Vendors and Timelines

Your timetable depends on someone else’s product.

  • Send the standard questions early and chase politely.
  • Ask for roadmaps where support is coming.
  • Use renewals to negotiate SSO inclusion.
  • Ask for test environments.
  • Escalate through your account manager when support is slow.
  • Keep a log of vendor commitments and dates.
Vendor behaviourResponse
Support exists but costs moreWeigh licence cost against risk; escalate for approval
Support is plannedAgree date; plan wave accordingly
Support refusedChoose gateway, replace or compensate
Vendor unresponsiveEscalate; consider replacement
Analogy

A delivery date depends on the supplier. Keep the supplier’s number handy.

33Licence Costs and the Business Case

Some vendors charge extra for SSO. Weigh it against the risk and the savings.

CostNotes
Vendor licence uplift for SSOVaries widely; sometimes large
Okta licences for provisioning and gatewaysDepends on edition
Project effortDiscovery, configuration, testing, communication
Training and supportShort bursts
Replacing or retiring appsLarger projects
BenefitHow to measure
Fewer stored passwordsCount of SWA credentials removed
Fewer password resets for these appsHelp desk tickets
Faster leaver cut-offHours from leaving to full removal
Better audit resultsFindings related to application access
Reduced risk of password theftIncidents and phishing outcomes

Illustrative arithmetic: suppose 40 of the 140 SWA applications need a licence uplift of 6,000 dollars a year each, or 240,000 dollars. If the programme removes 110 stored password sets, cuts password reset calls by 3,000 a year at 15 dollars each (45,000 dollars) and avoids one incident costing 400,000 dollars, the case is made on risk, not on direct savings. Use your own figures.

Analogy

Paying for a better lock is easier to justify after you have counted the valuables.

34Raising the Security Bar With Per-Application Policies

Federation lets Okta apply strong rules for every application, which SWA could not do at the app itself.

App tierPolicy
CriticalPhishing-resistant second step, managed device, known network
HighSecond step, managed device
MediumSecond step on risk signals
LowStandard sign-in with session limits
  • Set the policy per application or per group of applications.
  • Test the policy before enforcement.
  • Include exception rules for emergency accounts, alarmed.
  • Apply stronger rules to administrative access in each application.
  • Review policies when applications change tier.
!

Verify: Which policy conditions and authenticators your edition supports at application level should be confirmed in current documentation.

Analogy

A building gives each room its own lock strength, not the same lock on the cupboard and the vault.

35Sessions, Logout and Token Lifetimes

Signing in is easy to design. Signing out is where surprises hide.

  • Decide how long an application session should last, in line with its tier.
  • Learn what single logout really does for each application; many do not support it fully.
  • Make sure that closing the Okta session eventually ends application sessions.
  • Plan for shared computers and clear sign-out messages.
  • Check idle timeouts in the application itself.
SettingTypical range
Critical app sessionShorter, with re-authentication
Ordinary app sessionA working day
Idle timeFifteen to sixty minutes, by risk
!

Verify: Each vendor’s support for single logout and session controls, and how Okta session lifetimes interact with them, should be confirmed during testing.

Analogy

Closing the shop door does not make customers inside leave. You must also switch off the lights and ask them to go.

36Certificates and Keys: Keeping SAML Alive

A SAML connection is only as alive as its certificate.

SAML uses a certificate to sign statements. Certificates expire, often after a year or more. When one expires, sign-in to that application fails for everyone. OIDC uses keys that are often rotated automatically, but the application must be able to follow the rotation.

  • Keep a register of every SAML certificate with its expiry date.
  • Set reminders at 90, 30 and 10 days.
  • Learn the vendor’s renewal steps: some need a manual upload on their side.
  • Plan renewal windows outside busy periods.
  • Test the new certificate with a test user before switching.
  • Assign an owner for each renewal.
RiskControl
Silent certificate expiryRegister, reminders, alerts
Vendor needs manual updateCalendar with vendor contact
Renewal at peak timeMaintenance window
Single person knows howRunbook and backup owner
!

Verify: How Okta rotates signing keys for each application type, and how long certificates last, should be confirmed in current documentation.

Analogy

A passport expires on a printed date. Travellers who ignore it are stopped at the airport.

37Monitoring After Cutover

Cutover is the beginning of watching, not the end of the project.

SignalWhy it matters
Sign-in failure rate by applicationEarly sign of mismatch or certificate trouble
Number of users still using SWAProgress and stragglers
Local password sign-in attempts at the appAttackers or unfinished enforcement
New accounts created at the app outside provisioningBypass routes
Provisioning errorsBroken lifecycle
Policy denialsRules too strict or correct
Help desk calls by applicationPain points
  • Watch each application closely for two weeks after cutover.
  • Create alerts for sudden drops in sign-ins.
  • Compare Okta logs with the application’s own logs where possible.
  • Review a weekly report during waves.
!

Verify: Which System Log events and reports your edition provides for application sign-in and provisioning, and how to stream them, should be confirmed in current documentation.

Analogy

After a new bus route opens, an inspector rides it for the first fortnight.

38Preparing the Help Desk

The first people to hear about a problem are the support staff. Give them what they need before cutover day.

Question from usersPrepared answer
Where did my tile go?The new tile is in the same place, named the same. The old one is gone.
It asks for a second step now. Why?The company now protects this app with the same sign-in as your other apps.
I get an error saying no account foundCheck the identifier match; open a ticket with the application owner.
I used to use a shared loginEach person now has their own sign-in; request access through your manager.
The mobile app will not sign inFollow the mobile steps; here is the guide.
  • Hold a briefing a week before each wave.
  • Give agents a one-page guide per application.
  • Set up a fast escalation route to the migration team.
  • Track calls by application and feed them back.
  • Staff extra capacity in the first week of each wave.
Analogy

A shop opening a new till trains the cashiers before the doors open.

39Communicating With Users

People accept change when they know what, when and why.

1

Four weeks ahead

Announce the programme and the first wave, with the benefits.

2

Two weeks ahead

Tell affected users the date, what will look different and what to do.

3

One week ahead

Reminder, with a link to a short guide.

4

Cutover day

Message: it is live, here is where to get help.

5

One week after

Thank, ask for feedback, announce the end of the old tile.

  • Write in plain language; avoid acronyms.
  • Say what stays the same and what changes.
  • Explain why: safer, no password to remember.
  • Include screenshots.
  • Warn people about look-alike phishing: the real message will only link to the company portal.
!

Careful: Attackers copy migration announcements. Send from known addresses, link only to the company sign-in page, and never ask for passwords in a migration message.

Analogy

A bus company puts up notices about a route change before it happens, not after.

40Training Users and Application Owners

A short, practical session removes most fear.

  • Offer a five-minute video per wave.
  • Hold drop-in sessions for the first day of each wave.
  • Train application owners in access requests, roles and what to do when someone cannot sign in.
  • Train administrators in emergency procedures.
  • Keep a frequently asked questions page up to date.
AudienceContent
UsersWhat changes, how to sign in, who to call
Application ownersRoles, groups, reviews, incidents
Help deskCommon errors and fixes
AdministratorsEmergency access, certificates, monitoring
Analogy

A driving instructor shows the new car’s controls before the first lesson on the road.

41Rollback Plans

Every cutover needs a way back.

  • Keep the SWA tile and credentials available, hidden or disabled, until the migration is stable.
  • Define rollback triggers in advance: error rate above a number, key users blocked.
  • Decide who can call a rollback and how fast.
  • Know the steps: re-enable the old tile, turn off enforcement, tell users.
  • Test rollback in preview.
  • After rollback, explain and plan the corrected cutover.
TriggerAction
Over 5 percent of users cannot sign in after cutoverRoll back, investigate
Critical user group blockedRoll back or provide manual route
Certificate error across all usersFix certificate; roll back if not fixed within an hour
!

Careful: Do not roll back by re-enabling shared passwords that were changed for security reasons. Prepare a safe fallback before the day.

Analogy

A mountaineer sets a turn-back time before the climb, not during the storm.

42Failure Scenarios and Recovery

Migrations fail in predictable ways. Plan for them.

flowchart TD
    A["Problem after cutover"] --> B{"What kind?"}
    B -->|"Nobody can sign in"| C["Check certificate, redirect address, clock; roll back if needed"]
    B -->|"Some users get blank or wrong accounts"| D["Check identifier matching; fix mapping or data"]
    B -->|"Roles wrong"| E["Check group to role mapping"]
    B -->|"Provisioning failing"| F["Check credentials and connector; fall back to manual"]
    B -->|"Old password still works"| G["Complete enforcement; close local login"]
    C --> H["Fix, retest, record lessons"]
    D --> H
    E --> H
    F --> H
    G --> H
    
Figure 5. Each problem has a first check, and every path ends with a fix, a retest and a recorded lesson.
FailureEffectRecovery
Certificate expiredEveryone locked outRenew, upload, test; roll back if needed
Wrong redirect addressSign-in errorCorrect in both places
Clock drift between systemsStatement rejected as expiredFix time synchronisation
Mismatched identifierDuplicate accountsMerge, fix mapping
Provisioning credential expiredAccounts not created or removedRenew; reconcile lists
Enforcement skippedBack door remainsComplete and test

After every incident, ask why it happened and why it was not noticed sooner. The second answer is often a missing alert.

Analogy

A hospital reviews every mistake without blame and updates the checklist.

43Performance, Scale and Limits

A hundred and forty migrations create load on people, systems and vendors.

  • Know the limits on integrations, groups and rules in your Okta edition.
  • Plan rate limits for provisioning and bulk changes.
  • Do not move many large applications on the same day.
  • Check vendor limits on provisioning calls.
  • Measure sign-in latency before and after.
  • Plan team capacity: how many migrations can your people handle at once?
ResourceConstraintPlan
TeamTwo engineersFour applications a month per wave
VendorsSupport queuesStart questions early
Help deskPeak call volumeSpace waves apart
OktaRate limitsBatch bulk changes
!

Verify: Okta limits on applications, groups, rules and API rates depend on your plan. Confirm numbers in current documentation.

Analogy

A kitchen can cook ten dishes at once, not a hundred. Planning the order is part of cooking.

44Privacy and Data Handling in Migration

Migration touches personal data: names, emails, account lists, passwords.

!

General orientation only. This chapter is not legal advice. Privacy and data protection laws differ by country and sector. Ask your privacy and legal teams.

  • Treat exports of user lists as sensitive; store them securely and delete after use.
  • Never put passwords in spreadsheets or tickets.
  • Send only the attributes the application needs.
  • Check where the vendor stores data and what contract terms apply.
  • Delete stored SWA credentials after retirement.
  • Keep logs only as long as needed.
DataHandling
User list exportsEncrypted storage, restricted access, deletion date
Old SWA credentialsDeleted after retirement
Shared passwordsChanged and removed from documents
LogsRetention per policy
Analogy

Packing boxes for a move should be sealed and labelled, and the empty ones thrown away.

45Advantages, Disadvantages and Trade-offs

No approach is perfect. Say plainly what you gain and what you pay.

Advantages

  • Passwords removed from the sign-in path
  • Strong, consistent policies at every app
  • Automatic leaver cut-off with provisioning
  • Individual accountability in logs
  • No dependency on browser plugins
  • Fewer password resets

Disadvantages

  • Takes effort and vendor cooperation
  • Some vendors charge extra
  • Certificates to manage
  • Not every app can move
  • Short-term risk during cutover
  • Needs communication and training
Trade-offChoose X whenChoose Y when
Migrate now vs wait for vendorRisk is highSupport is promised soon and risk is low
Gateway vs replacementApp is needed long termApp is near end of life
Big waves vs small wavesTeam is large and apps simpleApps are complex or risky

State the downsides when you propose the programme. Leaders trust plans that name their own risks.

Analogy

A new engine costs money and downtime. It saves fuel and breakdowns afterwards.

46Design Patterns and Anti-Patterns

Patterns are habits worth repeating. Anti-patterns are traps others have already fallen into.

PATTERN: Register first, then wavesRecommended
What it looks like

Every SWA application is recorded with owner, risk, vendor support and decision before any migration starts.

Why it works

Priorities rest on facts, and nothing is forgotten.

PATTERN: Federate, match, enforce, retireRecommended
What it looks like

Each application goes through the same four stages and does not count as done until the local password path is closed and the old tile is retired.

Why it works

The password actually disappears, not just the tile.

PATTERN: Individuals instead of shared loginsRecommended
What it looks like

Shared accounts are replaced by individual identities through SSO and provisioning.

Why it works

Accountability returns, and leavers lose access automatically.

ANTI-PATTERN: SSO on, local passwords left onAvoid
What it looks like

The application accepts both Okta sign-in and its own passwords.

Why it hurts

Attackers use the password path and skip Okta’s protections.

ANTI-PATTERN: The big-bang weekendAvoid
What it looks like

Migrating dozens of applications at once.

Why it hurts

Failures overwhelm the help desk and hide the cause.

ANTI-PATTERN: Matching on a user-editable fieldAvoid
What it looks like

Letting the application link accounts using an email the user can change.

Why it hurts

An attacker can claim another person’s account.

ANTI-PATTERN: Forgetting the certificateAvoid
What it looks like

No register or reminders for SAML certificate expiry.

Why it hurts

One expiry causes a sudden total outage.

47Common Myths About Moving From SWA to SAML or OIDC

Some ideas sound sensible but lead teams astray.

MythReality
SWA is already single sign-on, so we are fineIt hides the password but keeps it. Federation removes it.
Turning on SAML finishes the jobLocal passwords, shared accounts and old tiles must still go.
Every app can be modernizedSome need gateways, replacement or compensating controls.
Vendors charge nothing for SSOSome do, and it can be large.
Migration is only a technical taskCommunication, training and ownership matter equally.
We can migrate everything in a weekendWaves spread risk and effort.
Users will complain about the new sign-inMost prefer it once they see no password is needed.
Provisioning is optionalWithout it, leavers’ accounts linger.
Certificates renew themselvesSAML certificates need owners and reminders.
Once migrated, no more workMonitoring, reviews and renewals continue.
Analogy

Old sailors’ tales about the weather can be charming and wrong. Checking the barometer takes a minute.

48Best Practices Checklist

A short list to read before every wave and every quarterly review.

  • Every SWA app is recorded with owner, risk, vendor support, decision and date.
  • Shared accounts are listed, prioritised and replaced.
  • Vendors have answered the standard questions in writing.
  • Targets are chosen per app: SAML, OIDC, gateway, replace, retire or compensate.
  • Users are matched by a stable, organisation-controlled identifier.
  • Roles are mapped from Okta groups, not user-editable fields.
  • Provisioning is enabled where supported; manual processes are documented where not.
  • Pilot first, then parallel run with an end date.
  • Local password sign-in is disabled; emergency accounts are controlled and alarmed.
  • Stored SWA credentials and shared passwords are deleted or rotated at retirement.
  • Certificates are in a register with owners and reminders.
  • Help desk, users and owners are briefed before each wave.
  • Rollback is planned and tested.
  • Monitoring is in place after cutover.
  • Stuck apps have compensating controls, owners and end dates.
Analogy

A pilot reads a checklist before every flight, however many hours she has flown. The list is short because it matters.

49Modernization and Zero Trust

Zero trust says never rely on a password alone and always check the context. SWA applications are the opposite.

Zero trust ideaWhat federation adds
Verify explicitlyOkta checks identity and context for every sign-in
Least privilegeRoles and groups define what each person may do
Assume breachNo stored passwords to leak; short-lived statements
Continuous evaluationPolicies can change without touching the app

Every SWA application moved to federation is a small step toward a world where a stolen password is not enough. A leader asked why the company is doing this can answer simply: because passwords are the weakest link and we are removing them.

Analogy

A modern building uses badges that can be cancelled at once. Metal keys can be copied without anyone knowing.

50Ownership and Governance of the Programme

A migration of this size needs clear owners.

RoleDuty
Programme ownerPlan, budget, progress, decisions
Application ownersTest, accept, communicate with their users
Identity engineersIntegrations, groups, policies, certificates
SecurityRisk tiers, policies, exceptions
Help desk leadReadiness and feedback
Procurement and vendor managerContracts, licence changes
Executive sponsorBacking and escalation
  • Hold a weekly stand-up during waves and a monthly review after.
  • Record decisions and exceptions in the register.
  • Require sign-off from the application owner before enforcement.
  • Give each application a named backup owner.
Analogy

A ship with no captain drifts. One with ten captains argues about the course.

51Evidence of Migration for Auditors

Show not only that apps were moved, but that the old paths are closed.

EvidenceWhat it shows
Application register with dates and decisionsScope and progress
Integration configuration exportHow the app trusts Okta
Setting showing local password sign-in disabledBack door closed
Test resultsControls work
Provisioning recordsLifecycle works
Exception registerHonest list of stuck apps
Deleted credential recordsStock of secrets reduced
  • Collect evidence as you go, not at the end.
  • Keep it by application and date.
  • Include before and after counts of SWA apps.
  • Mask personal data in screenshots.
!

General orientation only. What evidence your auditors accept depends on your frameworks. Confirm with your compliance team.

Analogy

A builder keeps photos of the work before the walls were closed.

52Documentation That Survives Staff Changes

People move on. The programme must keep working without them.

  • The application register: owner, tier, vendor, decision, dates.
  • Per-application runbook: configuration, matching, roles, certificate details, vendor contacts.
  • Certificate register: expiry dates and renewal steps.
  • Emergency access procedure: who, how, how it is alarmed.
  • Rollback plans and cutover checklists.
  • Lessons log from each wave.

Test the documents. Give a runbook to a new colleague and watch. Where they stumble, the document needs repair.

Analogy

A lighthouse keeper leaves a logbook for the next keeper. The light stays on because knowledge is handed over with the keys.

53Keeping Up With Okta and Vendor Changes

Okta and application vendors change often. A migration done well can still drift.

  • Read Okta release notes on a schedule.
  • Watch vendor release notes for changes to SSO settings.
  • Keep a list of assumptions, such as how an app matches users, and retest when a change touches one.
  • Re-check enforcement after major vendor upgrades; some reset settings.
  • Watch for renamed features and edition changes.
  • Plan time each quarter for small fixes.

Write down which settings each application depends on. When a change is announced, you will know within minutes whether it matters.

Analogy

A ship’s navigator checks the chart against the sea every watch. The coast looks the same, but sandbanks move.

54A Design Exercise: Brightwater’s Programme From Start to Finish

Let us solve the problem from the start of this guide, step by step.

1

Count

140 SWA apps found; 31 with shared logins; 18 internet-facing; 22 unused in 12 months.

2

Retire the unused

22 apps retired with owner confirmation; credentials deleted.

3

Classify and ask vendors

Standard questions sent to 118 vendors; replies show 74 support SAML or OIDC, 21 need a licence uplift, 17 offer no support, 6 are unresponsive.

4

Choose targets

74 federate; 21 decide on cost basis; 11 gateway candidates; 6 replace; 6 retire; remaining stuck with controls.

5

Build waves

Wave 0 pilot of 3; Wave 1 the 31 shared-login apps with vendor support; later waves by risk.

6

Fix identifiers

Matching reports for each app; duplicates merged; names normalised.

7

Cut over

Parallel run of two weeks; end date announced; enforcement; local passwords disabled; emergency accounts alarmed.

8

Retire and record

Old tiles removed, credentials deleted, shared passwords changed, evidence stored.

9

Watch and improve

Weekly dashboard; certificate register; quarterly review of stuck apps.

flowchart LR
    R["Register of 140 SWA apps"] --> V["Vendor answers"]
    V --> T["Target per app"]
    T --> W["Waves 0 to 4"]
    W --> C["Cutover: federate, match, enforce"]
    C --> X["Retire tile and credentials"]
    X --> M["Monitor and review"]
    M --> R
    T --> S["Stuck apps with compensating controls"]
    S --> M
    
Figure 6. Brightwater’s programme: register, vendor answers, targets, waves, cutover, retirement, monitoring and a loop back to the register.

A year later, 96 of the original 140 applications use SAML or OIDC with local passwords disabled, 22 are retired, 11 sit behind a gateway, and 11 remain on SWA with documented controls and end dates. The shared-login applications are all gone.

Analogy

Moving house takes planning, boxes and a calendar. The first night in the new place makes it worth it.

55Real-World Scenarios and Worked Numbers

Numbers make the stakes visible. All figures are illustrative and meant to show the thinking, not to predict your results.

Scenario 1: Stock of Secrets

140 SWA apps with an average of 85 active users each hold roughly 11,900 stored credentials, plus 31 shared passwords known by perhaps 15 people each. Migrating 96 applications and retiring 22 removes about 10,000 stored credentials. The count of places where a password can be stolen falls by more than four-fifths.

Scenario 2: Leaver Exposure

Before, an SWA leaver lost the tile on the last day but kept a working application account for an average of 47 days. With provisioning and enforced SSO the exposure drops to under a day for federated apps. With 900 leavers a year across SWA apps, that is roughly 42,000 days of unneeded access reduced to a few hundred.

11,900
Illustrative stored credentials across the SWA estate
47 days
Illustrative average time a leaver’s app account lingered
96 of 140
Illustrative apps federated after a year

Scenario 3: Certificate Day

A SAML certificate for the payroll app expires on a Monday at 9:00 with 8,000 users. A register and 30-day reminder would have prompted renewal weeks earlier. The cost of an hour’s outage at 8,000 users at 40 dollars an hour is about 320,000 dollars. The register costs an afternoon to build.

Analogy

A farmer counts the harvest and the seed. The ratios show whether the farm is healthy.

56A Maturity Path and a 90-Day Plan

You do not need to solve everything at once. Small steps beat grand promises.

LevelWhat it looks like
1. HiddenSWA apps unknown; shared logins everywhere
2. KnownRegister complete; owners named; tiers set
3. MovingWaves under way; shared logins replaced; vendors engaged
4. ClosedLocal passwords disabled; tiles and credentials retired; provisioning live
5. GovernedCertificates tracked; stuck apps controlled; reviews, metrics and lessons

The first 90 days

1

Days 1 to 20: Discover

Count SWA apps. Find shared logins. Identify owners. Send vendor questions.

2

Days 21 to 45: Plan

Classify, choose targets, build waves, prepare communications.

3

Days 46 to 70: Pilot

Migrate three willing apps end to end, including retirement.

4

Days 71 to 90: Wave 1

Start the highest-risk apps. Open the dashboard. Hold the first monthly review.

Analogy

Learning to swim starts in the shallow end with a teacher close by. Nobody begins in the deep pool.

57A Troubleshooting Playbook

When someone says “I cannot get into the application since the change,” follow the same steps each time.

SymptomLikely causeFirst check
Everyone gets an error at sign-inCertificate or redirect addressCertificate expiry; addresses in both systems
Some users get a blank accountIdentifier mismatchIdentifier in the statement versus the app account
Wrong roleGroup to role mappingGroup membership and role mapping
Statement rejected as expiredClock differenceTime synchronisation on both sides
User can still use old passwordEnforcement not completeVendor setting and test
New joiner has no accountProvisioning failure or missing groupProvisioning logs; group membership
Mobile app failsClient not set for SSOVendor mobile guidance
Old tile still visibleRetirement not completedAssignments on the old integration
  • State the exact problem: which app, which user, which time.
  • Look at Okta’s log for that attempt and the app’s log if available.
  • Compare with a working test user.
  • Fix the case, then the cause, then check for others with the same pattern.
Analogy

A mechanic listens, checks fuel, then spark, then air. A fixed routine finds the fault with less luck.

58A Quick Decision Guide: What Should Happen to This SWA App?

Before choosing a target for any app, answer the same short questions.

flowchart TD
    A["SWA application"] --> B{"Used in the last 12 months?"}
    B -->|"No"| C["Retire: confirm with owner, delete credentials"]
    B -->|"Yes"| D{"Does the vendor support SAML or OIDC?"}
    D -->|"Yes"| E["Federate, match, enforce, retire tile"]
    D -->|"No"| F{"Can a gateway or header integration protect it?"}
    F -->|"Yes"| G["Gateway with network lock-down"]
    F -->|"No"| H{"Is the app near end of life or low value?"}
    H -->|"Yes"| I["Replace or retire on a dated plan"]
    H -->|"No"| J["Keep SWA with compensating controls and owner"]
    
Figure 7. Use, vendor support, gateway options and value decide the fate of each application.
  • If you cannot name the owner, find one before deciding.
  • If the app has a shared login, move it up the queue whatever the target.
  • If the decision is to keep SWA, write the end date.
Analogy

Before repairing a car, ask whether it is worth repairing, and whether anyone still drives it.

59Small Details That Decide Success

Most migrations stumble on small details nobody wrote down.

1

Case sensitivity

Emails matched with different capitals fail in some apps.

2

Time zones and clocks

Keep systems synchronised.

3

Redirect addresses

Exact spelling on both sides.

4

Display names

Apps may overwrite names from the statement.

5

Alias addresses

Some people sign in with an alias.

6

Test accounts

Mark them so they are not counted or removed by mistake.

7

Admin accounts

Plan emergency access first.

8

Scheduled jobs

Scripts signing in with passwords may break at enforcement.

9

Bookmarks

Users keep old links; redirects help.

Analogy

A hotel is judged by clean towels, a working key card and a quiet corridor. Little things are what guests remember.

60Common Mistakes in the First Year

Teams repeat the same early errors. Knowing them is a cheap kind of experience.

MistakeWhat it causesCure
Skipping discoverySurprises mid-programmeCount first
Leaving local passwords onBack door openEnforce SSO
Ignoring shared loginsAccountability gapsReplace them first
No certificate registerSudden outagesRegister and reminders
Weak communicationHelp desk floodsPlan messages and training
No rollbackProlonged outagesPlan and test
Forgetting scripts and mobileHidden breaksInventory all clients
Declaring victory at cutoverOld paths remainRetire tiles and credentials
No owner for stuck appsPermanent exceptionsOwners and end dates
Analogy

New drivers repeat the same few errors: following too close, forgetting mirrors. Hearing about them shortens the learning.

61Getting Colleagues on Board: Change Management

A strong design that people work around protects nothing. Colleagues must see the point and find the new way workable.

  • Start with a story. The stolen laptop and the four-year-old shared password make the point.
  • Show the benefit to users. No password to remember or reset.
  • Involve application owners early. They own the roles and the acceptance.
  • Respect busy periods. Keep finance away from month-end and HR from payroll weeks.
  • Make the first wave a success. Pick willing teams and support them closely.
  • Share progress. Show the falling count of SWA apps.
  • Close old paths. People keep using what still works.
Analogy

When a town opens a new bridge, it also puts up signs and closes the old crossing. A road no one knows about stays empty.

62A Week in the Life of the Programme

A concrete picture shows how the pieces behave together.

1

Monday

The dashboard shows Wave 2 at 60 percent. The register shows three vendor replies outstanding.

2

Tuesday

A cutover for the procurement application: pilot group confirmed, parallel run starts, end date announced.

3

Wednesday

The certificate register shows two renewals due in 30 days. Owners book them.

4

Thursday

A help desk call reveals an identifier mismatch for people with alias addresses. The mapping is adjusted and a note is added to the runbook.

5

Friday

Enforcement completes for the reporting tool. The old tile and stored credentials are removed.

Nothing dramatic happens. That is the sign of a healthy programme: small items found early, old paths closed one by one and users who barely notice.

Analogy

A well-run kitchen sounds calm during service because the shouting happened in rehearsal.

63Contractors and Non-Employees

Not everyone who signs in to your applications is on the payroll. Contractors, auditors, partners and temporary staff often use the same applications, and they are easy to forget during a migration.

With SWA, a contractor often received a stored password and kept it long after the contract ended, because nobody told the application owner. With federation, access follows an Okta account, so the question becomes: does every contractor have one, and who ends it?

  • Give each contractor a named account in Okta with a clear end date set when the account is created.
  • Assign a sponsor, a real employee who answers for the account and confirms it each quarter.
  • Use groups for contractor access, kept separate from employee groups so roles can be reviewed on their own.
  • Check the vendor’s licence terms, since some applications count external users differently.
  • Never let contractors share a login because a team of three does not need one password.

Include contractors in the discovery step. Ask each application owner who outside the company signs in, and compare the answer with the application’s own user list. Differences are the first findings of the programme.

Analogy

A building keeps a visitor book and gives each guest a badge with a date on it. Without badges, nobody can tell who is still inside.

64Service Accounts and Automated Access

Not every sign-in is a person at a keyboard. Scripts, scheduled jobs and other systems often sign in to applications using a stored username and password.

When local passwords are disabled at cutover, these quiet users are the first to break, usually at night when nobody is watching. The fix is to find them before enforcement, not after the first failed job.

  • Search the application’s logs for accounts that sign in at odd hours or at perfectly regular intervals.
  • Ask the owner which jobs, reports or integrations use a sign-in.
  • Check whether the vendor offers tokens or keys for automated access, which are better than passwords.
  • Give each automated account an owner, a purpose and a review date.
  • Keep a short list of exempt accounts if the vendor allows local sign-in only for them, and protect those with long random secrets, network limits and alarms.

Record these accounts in the register. An automated account with no owner is a shared password with a robot’s face.

Analogy

A hotel has night staff whose names the day staff never learn. When the locks change, someone must remember to give them new keys.

65Reporting Progress to Leaders

Leaders do not want a list of integrations. They want to know whether the company is safer than last quarter and what remains.

  • Number of SWA applications, falling over time, with the target.
  • Number of shared logins remaining, ideally heading to zero.
  • Applications with local passwords disabled as a share of those federated.
  • Applications with provisioning and removal tested.
  • Certificates expiring in 30 days and whether each has an owner.
  • Stuck applications with owners and end dates.
  • Help desk calls related to the migration, per wave.

Show one small chart, one page of text and the decisions you need. Say plainly what is late. A report that shows only green loses trust the first time something fails.

Analogy

A pilot reports speed, fuel and weather. Passengers do not need every dial, but they do need honesty about the turbulence.

66Acquired Companies and Inherited Applications

Mergers bring new people and new applications overnight, and many arrive with their own SWA setups and shared passwords.

  • Run the same discovery on the acquired estate before connecting anything.
  • Do not import shared logins just to make a deadline.
  • Decide which identity source is the master for the merged people, and match on a stable identifier.
  • Expect clashes: two employees with the same email name, different formats of employee numbers.
  • Prioritise internet-facing applications of the new company first.
  • Agree an end date for the old directory so the merge does not leave two worlds permanently.

Treat the acquired applications as a new wave with its own register, owners and vendor questions. The method is the same; only the starting count differs.

Analogy

When two families share a house, they agree on which keys open which doors before the first night, not after the first lock-out.

67Freeze Calendars and Peak Periods

Every business has weeks when change is unwelcome. Month-end for finance, enrolment for schools, harvest for farms, holiday season for retail.

  • Collect the calendar from each application owner at the start.
  • Avoid cutover in peak weeks, and avoid the day before holidays.
  • Schedule cutover early in the week so help is available.
  • Keep one spare window in each wave for problems.
  • Do not stack certificate renewals and cutovers in the same week.

If a critical application has only one safe window a year, plan for that window and rehearse beforehand in a test setup. The rehearsal is cheap compared with missing the window.

Analogy

A bakery does not repaint the shop on the morning before a holiday. It picks a quiet Tuesday.

68Learning From Each Wave

The first wave teaches more than the plan did. Capture the lessons while they are fresh.

  • Hold a short review within a week of each wave.
  • Ask three questions: what surprised us, what took longer than expected, what would we change?
  • Update the runbook template and the vendor questions with each answer.
  • Share the lessons with the next wave’s owners, in writing.
  • Keep a count of problems by type, such as identifiers, roles, certificates and communication, to see which cause most trouble.
  • Thank the people who found the problems.

After three or four waves, the lessons log becomes the most valuable document in the programme, because it holds what no vendor guide will tell you about your own company.

Analogy

A sailor who writes in the logbook after every trip becomes a captain. One who forgets repeats each storm.

69Glossary of Terms

Quick plain-language meanings for the words used in this guide.

TermMeaning
AssertionA signed statement from Okta about who someone is
CertificateA file used to sign SAML statements; it expires
ClaimOne fact inside a statement
Enforcing SSOTurning off the application’s own password login
FederationTrusting another system to prove identity
GatewayA component that sits in front of an app that cannot use standards
Identity providerThe system that proves identity; here, Okta
Just-in-time creationMaking an account at first sign-in
OIDCOpenID Connect, a token-based sign-in standard
ProvisioningCreating, updating and removing accounts automatically
SAMLAn XML-based sign-in standard
SCIMA standard for automatic account management
Service providerThe application that trusts Okta
SSOSingle sign-on
SWASecure Web Authentication: stored password filled into a login form
WaveA group of apps migrated together
Analogy

A traveller’s phrasebook does not make you fluent but stops misunderstandings at the market.

70Frequently Asked Questions

Short answers to questions that come up in almost every project.

Q1What is SWA in one sentence?
A method where Okta stores a username and password for an application and a browser plugin fills them into the application’s login page.
Q2Why move away from SWA?
Because a password still exists at the application, can be stolen and used directly, is often shared, is rarely rotated and survives when people leave.
Q3Is SAML better than OIDC?
Neither is universally better. Use what the vendor supports well. OIDC is common for modern and mobile apps; SAML is widely supported by older business software.
Q4What if the vendor does not support either?
Consider a gateway or header-based integration, replacement or retirement, or keep SWA with compensating controls, an owner and an end date.
Q5Is enabling SSO enough?
No. Local password sign-in must be disabled, shared passwords changed, old tiles and stored credentials removed, and provisioning set up.
Q6How do we avoid duplicate accounts at cutover?
Match users on a stable, organisation-controlled identifier, run matching reports before cutover, fix mismatches and merge duplicates.
Q7What happens when a SAML certificate expires?
Sign-in fails for everyone using that application. Keep a register, set reminders and assign owners for renewal.
Q8How long should the parallel run last?
A short, fixed time, often one to four weeks, with an announced end date. Open-ended parallel running becomes permanent.
Q9Does Okta offer tools for this?
Okta provides application integrations, provisioning, policies, Workflows, logs and, depending on edition, gateway products. Names and availability change, so confirm in current documentation.
Q10Where do we start?
Count your SWA apps, find shared logins, identify owners, send standard questions to vendors, and pilot three willing applications end to end.
Analogy

A good help desk answers the same ten questions every day with the same calm sentences. Writing them down keeps a team consistent.

71Summary and Key Takeaways

SWA hides passwords. Federation removes them. Moving between the two is a programme, not a switch.

Key Takeaways

  • Count first. Build a register of every SWA application with owner, risk, vendor support and decision.
  • Fix the worst first. Shared logins and internet-facing apps go to the front of the queue.
  • Ask the vendor. Support for SAML or OIDC often exists; licences, gateways, replacement or compensating controls cover the rest.
  • Match carefully. Use a stable, organisation-controlled identifier and map roles from Okta groups.
  • Close the back door. Disable local passwords, protect emergency accounts, and delete old credentials and tiles.
  • Move in waves. Pilot, run in parallel with an end date, communicate, train, watch and be ready to roll back.
  • Keep it alive. Track certificates, review stuck apps, monitor logs and re-check settings after vendor changes.