App Sign-On Methods in Okta: An Overview

App Sign-On Methods in Okta: An Overview

SAML, OpenID Connect, SWA, WS-Federation and API services: what each method does, how they differ, and how to choose the right one for every application you connect.

Imagine you are an administrator and your manager says, “Please connect our new expense tool to Okta by Friday.” You open the Okta Admin Console, click to add an application, and a screen asks you to choose a sign-on method. Suddenly you face unfamiliar names: SAML 2.0, OIDC, SWA, WS-Federation, API Services. Which one is right? What happens if you pick the wrong one? Does it change how safe the tool is?

This guide answers those questions in plain language. You will learn what a sign-on method actually is, how each popular method works behind the scenes, what you must prepare before configuring it, what can go wrong, and how to choose confidently. No programming is needed. If you can follow a story about a front desk and a visitor badge, you can follow this.

4 Choices
main sign-on methods in the usual “add app” wizard
2 Standards
SAML and OpenID Connect handle most modern apps
1 Policy
per app decides how strongly people must prove who they are

AThe Short Answer

If you only read one chapter, read this one.

An app sign-on method in Okta is the technical way Okta proves a person’s identity to one particular application. Okta knows who the person is. The application does not. The sign-on method is the agreed language that Okta uses to tell the application, “This is Priya, and I have checked her.”

Okta supports several such languages. The most important are:

  • SAML 2.0: a long-established standard used by thousands of business applications.
  • OpenID Connect (OIDC): a newer, lighter standard that suits modern web apps, mobile apps and single-page apps.
  • Secure Web Authentication (SWA): a fallback for older apps that only know usernames and passwords. Okta stores the credentials and fills in the sign-in form.
  • WS-Federation: an older Microsoft-flavored standard still found in some Microsoft-centered setups.
  • API Services: not for people at all, but for software talking to software, using OAuth 2.0.
Analogy

Think of Okta as a passport office and each application as a different country. Some countries accept a modern electronic passport (OpenID Connect). Some insist on a traditional stamped paper passport (SAML). A few tiny places do not accept passports at all, so a courier carries your documents and fills in their forms by hand (SWA). The sign-on method is the kind of travel document that country understands.

The golden rule: choose the most modern method the app supports. OpenID Connect or SAML where possible, SWA only when nothing better exists.

BWhat a Sign-On Method Is, and What It Is Not

Three ideas get mixed up all the time. Let us separate them early.

Sign-on method: how identity is delivered

The sign-on method decides the format and path by which proof of identity travels from Okta to the app. It answers the question, “In what language does Okta speak to this app?”

Authentication policy: how strongly the person must prove themselves

Each app is also linked to a rule set, often called an authentication policy (older Okta setups call it a sign-on policy). The policy decides whether a person needs one proof or two, whether a managed device is required, whether certain networks are blocked, and how often the person must prove themselves again. The policy works the same way no matter which sign-on method the app uses.

Provisioning: whether the account exists in the app

Provisioning is about creating, updating and removing the user’s account inside the app. It is a separate switch from sign-on. An app can have fabulous single sign-on and no automatic account removal at all.

Question one

Sign-on method

How does Okta tell the app who the person is?

Question two

Authentication policy

How carefully must Okta check the person before telling the app?

Question three

Provisioning

Does the app have an account for this person, and is it kept up to date?

Question four

Assignment

Is this person or group allowed to use the app at all?

i
Tip

When something goes wrong, ask which of the four questions is failing. “The tile is missing” is an assignment problem. “The app rejects the sign-in” is usually a sign-on method problem. “The person is asked for too many codes” is a policy problem. “The account is not there” is a provisioning problem. Sorting the problem first saves hours.

CCore Concepts You Must Know First

A short glossary makes every later chapter easier.

Identity provider and service provider

The identity provider (IdP) is the system that checks who the person is. In this guide, that is Okta. The service provider (SP) is the app that relies on the identity provider’s answer. In the OpenID Connect world, the same app is often called the relying party or the client.

Token, assertion and claim

A token is a small signed message that carries facts about the person. In SAML, this message is usually called an assertion. The facts inside, such as name, email and group, are called claims or attributes. Because the message is signed, the app can tell if anyone tampered with it.

Signing certificate and keys

Okta signs messages with a private key that only Okta holds. The app checks the signature using a matching public key, often shared as a certificate. If the app does not have the right certificate, it will refuse Okta’s messages, which is a classic cause of failed sign-ins.

Metadata

Metadata is a tidy file or web address that describes how one side wants to talk: its web addresses, its certificate and its supported features. Instead of typing a dozen settings by hand, you can often give the app Okta’s metadata, or give Okta the app’s metadata, and most settings fill themselves.

Redirect address

When Okta finishes checking a person, it sends their browser back to the app at a specific web address. Okta only sends people to addresses that were registered in advance. This protects against attackers who might trick Okta into delivering a message to the wrong place.

SP-initiated and IdP-initiated sign-in

In SP-initiated sign-in, the person starts at the app, and the app sends them to Okta. In IdP-initiated sign-in, the person starts at Okta, clicks the app’s tile, and Okta sends them to the app. Both are common. SP-initiated is generally considered safer because the app can tie the response to its own request.

Client ID and client secret

In OpenID Connect, an app is identified by a client ID, which is like its public name. Some apps also have a client secret, which is like a private password that proves it is really that app. Secrets must be guarded carefully.

Scope

A scope is a named permission the app asks for, such as “read the user’s basic profile” or “read the user’s email.” The person or the administrator approves what the app may receive.

Analogy

A hotel front desk gives you a key card. The card is signed by the hotel (the signature). It works only for your floor (the scope), only until checkout (the expiry), and only for this hotel (the audience). Tokens work the same way. They are valid for a particular app, for a limited time, with limited rights.

DWhy So Many Methods Exist

Each method is a layer of history. Knowing the story explains the menu.

No one sat down and decided to confuse administrators. The different methods appeared because the web kept changing and because every app was built at a different time, by different people, with different needs. Okta supports all of them because real companies use apps from every era.

1

The password era

Every app owned its own usernames and passwords. Apps knew nothing about each other, and users juggled many logins.

2

Federation standards arrive

SAML 2.0 was approved by the OASIS standards group in 2005. WS-Federation emerged from the Microsoft-led world around the same period. Companies could now trust each other’s sign-ins without sharing passwords.

3

The mobile and API era

OAuth 2.0 was published in 2012 to let apps receive limited permission without a password. OpenID Connect followed in 2014, adding a clean way to prove who the user is on top of OAuth 2.0.

4

The long tail of older apps

Thousands of older and smaller apps never adopted these standards. For them, identity vendors built password-vaulting and form-filling methods, which Okta calls Secure Web Authentication.

The practical result

Today a typical company has a mix: a few brand-new apps built on OpenID Connect, many established business tools that use SAML, a small crowd of old tools that need SWA, and a handful of internal services that speak to each other through OAuth 2.0 without any person involved. The sign-on method list lets one Okta organization serve them all.

EThe Menu at a Glance

Before diving deep, here is the whole menu on one page.

MethodBest forWhat travels from OktaPassword shared with app?Modern?
SAML 2.0Established business web appsSigned XML assertionNoMature and widely used
OpenID ConnectNew web, mobile and single-page appsSigned ID token (and access token)NoYes, preferred for new work
SWAOlder apps with only a password formStored credentials filled into a formYes, filled in for the userNo, a fallback
WS-FederationMicrosoft-oriented older integrationsSigned token in a Microsoft styleNoLegacy
API ServicesSoftware talking to softwareOAuth 2.0 access tokenNo (uses a secret or key)Yes

Methods that sit beside the main five

A few other app types appear in the console and are worth recognizing.

Link only

Bookmark app

A simple tile that opens a web address. It does no sign-in magic. Useful for putting a plain link on the dashboard.

Network

RADIUS

Used for network equipment such as VPNs. Okta can check users and their second factor through a small agent installed in the company network.

Legacy bridge

Gateway for on-premises apps

Some older internal apps only understand special web headers. A gateway product can sit in front of them and translate Okta’s identity into the form they expect.

Template

Template and catalog apps

Ready-made entries from the Okta Integration Network that already come with the right settings, so you only fill in a few details.

flowchart TD
    START["New app to connect"] --> Q1{"Is the app in the Okta catalog?"}
    Q1 -->|"Yes"| CAT["Use the catalog entry and follow its guide"]
    Q1 -->|"No"| Q2{"Does it support OpenID Connect?"}
    Q2 -->|"Yes"| OIDC["Choose OpenID Connect"]
    Q2 -->|"No"| Q3{"Does it support SAML 2.0?"}
    Q3 -->|"Yes"| SAML["Choose SAML 2.0"]
    Q3 -->|"No"| Q4{"Is it software calling software?"}
    Q4 -->|"Yes"| API["Choose API Services"]
    Q4 -->|"No"| Q5{"Does it only have a password form?"}
    Q5 -->|"Yes"| SWA["Choose SWA as a last resort"]
    Q5 -->|"No"| OTHER["Check for a gateway or ask the vendor"]
    
Figure 1: A beginner-friendly decision path for choosing an app sign-on method.

Even when an app appears in the catalog, the catalog entry has already chosen a method for you. Read its short setup guide so you know which one you are configuring.

Why the paid-plan question matters

One surprise catches many administrators: a vendor may support single sign-on only on its more expensive plans. The app may technically speak SAML, yet the setting stays hidden until the company upgrades. Before you plan a project, check the vendor’s pricing page or ask the account manager whether SAML or OpenID Connect is included. If it is not, you face a business decision: pay for the upgrade, accept SWA as a temporary bridge, or look for a different product. Writing the cost of staying with passwords, including the time spent on resets and the risk of forgotten accounts, helps leaders see why the upgrade may be worth it.

FSAML 2.0 in Okta

The workhorse of business single sign-on.

What it is

SAML stands for Security Assertion Markup Language. In a SAML setup, Okta is the identity provider and the app is the service provider. After checking the person, Okta creates a signed assertion: a statement written in XML saying who the person is and a few facts about them. The browser carries the assertion from Okta to the app, and the app trusts it because of the signature.

Analogy

It is like a notarized letter. The notary (Okta) stamps and signs a letter that says, “I confirm this is Priya, and she works in Finance.” The app does not need to know Priya. It only needs to recognize the notary’s stamp.

How a SAML sign-in travels

sequenceDiagram
    participant P as Priya in Browser
    participant A as App - Service Provider
    participant O as Okta - Identity Provider
    P->>A: 1. Open the app
    A-->>P: 2. Redirect to Okta with a sign-in request
    P->>O: 3. Arrive at Okta
    O->>O: 4. Check session, policy and second factor
    O-->>P: 5. Return a signed assertion
    P->>A: 6. Deliver the assertion to the app address
    A->>A: 7. Verify signature, audience and time
    A-->>P: 8. Sign Priya in
    
Figure 2: A service-provider-initiated SAML sign-in between a user, an app and Okta.

What you configure in Okta

When you create a SAML app integration, you meet a short list of settings. Each has a purpose, and learning them removes most of the mystery.

SettingPlain meaningWhere the value usually comes from
Single sign-on URLThe app’s address that receives the assertionThe app’s SAML setup page
Audience URI (SP entity ID)The unique name of the app, so the assertion is meant only for itThe app’s SAML setup page
Name ID format and application usernameWhich identifier tells the app who the person is, often the emailYou choose, matching what the app expects
Attribute statementsExtra facts to send, such as first name, last name or departmentThe app’s list of required attributes
Group attribute statementsSend group names so the app can set rolesMatches the app’s role mapping
Signing certificate and metadataOkta’s public key that the app uses to check signaturesProvided by Okta, uploaded to the app

A worked example in words

Suppose the finance team buys an invoicing tool that supports SAML. The vendor’s help page says: the sign-in address is a certain web address, the audience value is a certain name, the username must be the person’s email, and the tool wants three attributes called first name, last name and role. Here is how an administrator turns that into Okta settings.

  • Paste the tool’s sign-in address and audience value into the matching two boxes in Okta.
  • Set the application username to the email address from the Okta profile.
  • Add three attribute statements. Name them exactly as the tool expects, and map the first two to the profile’s first and last name.
  • For the role attribute, create a group attribute statement that sends the person’s group names, so that members of “Finance Managers” arrive with a manager role in the tool.
  • Download Okta’s metadata or certificate, and upload it to the invoicing tool.
  • Assign the “Finance” group, and test with one manager and one regular user.

Notice how little is actually technical. Almost every step is copying a name from one side to the other. That is why a tidy checklist beats cleverness.

The two-way exchange

A SAML setup is a conversation in two directions. First you take values from the app and enter them into Okta (the sign-in address and the app’s name). Then you take values from Okta and enter them into the app (Okta’s sign-in address, Okta’s name, and Okta’s certificate). Both sides must agree on every value. A single typo, such as an extra slash at the end of an address, can break the whole thing.

Strengths of SAML

  • Supported by a huge number of business applications, such as Salesforce, Box, GitHub Enterprise and Zoom.
  • Well understood by security teams and auditors.
  • No passwords reach the app.
  • Group and attribute information can flow along with the sign-in.

Limits of SAML

  • XML messages are heavier and harder to debug than the lighter JSON used by OpenID Connect.
  • Not designed for mobile apps or modern single-page apps.
  • Certificates expire, and an expired certificate causes sudden outages.
  • Different apps interpret the standard slightly differently, so setup guides matter.
!
Warning

Certificate expiry is the most common SAML emergency. Record the expiry date of every signing certificate and set reminders weeks ahead. Rotating a certificate requires updating Okta and the app at nearly the same time, so plan a quiet window for it.

GOpenID Connect in Okta

The modern choice for new apps.

What it is

OpenID Connect, usually shortened to OIDC, is a thin layer on top of OAuth 2.0. OAuth 2.0 handles permission (“this app may read the calendar”). OIDC adds identity (“and this is who signed in”). The app receives an ID token, a compact signed message in a format called a JSON Web Token, and often an access token that lets it call other services on the person’s behalf.

Four kinds of OIDC apps in Okta

Server

Web application

Runs on a server that can keep a secret safe. Uses the authorization code flow with a client secret.

Browser

Single-page application

Runs entirely in the browser, so it cannot keep secrets. Uses the authorization code flow with PKCE.

Device

Native application

A mobile or desktop app installed on a device. Also uses PKCE and often a refresh token.

Machine

Service

No person involved. Software proves itself and receives an access token. This is the API Services type.

The authorization code flow with PKCE

This is the modern recommended path for apps that sign people in. Rather than send real tokens through the browser where they might be seen, Okta first sends the app a short, one-time code. The app then goes straight to Okta behind the scenes and trades the code for the real tokens.

For apps that cannot hide a secret, such as mobile apps and single-page apps, a safeguard called PKCE (pronounced “pixie”) is added. The app invents a one-time secret for each sign-in and shows only a scrambled version at the start. At the end, it reveals the real one. If an attacker steals the code halfway, they cannot finish the trade.

sequenceDiagram
    participant U as User in Browser or App
    participant A as App - Client
    participant O as Okta Authorization Server
    U->>A: 1. Press Sign in
    A->>A: 2. Create one-time PKCE secret
    A-->>U: 3. Redirect to Okta with scrambled secret
    U->>O: 4. Sign in and complete second factor
    O-->>U: 5. Redirect back with a one-time code
    U->>A: 6. Deliver the code
    A->>O: 7. Trade code plus real PKCE secret
    O-->>A: 8. Return ID token and access token
    A->>A: 9. Verify the tokens
    A-->>U: 10. Signed in
    
Figure 3: The OpenID Connect authorization code flow with PKCE, as used by modern web and mobile apps.

What you configure in Okta

  • Application type: web, single-page, native or service.
  • Sign-in redirect URIs: the exact addresses where Okta may send people after sign-in. Keep this list short and exact.
  • Sign-out redirect URIs: where to send people after they sign out.
  • Grant types: which flows the app may use. Prefer authorization code, with PKCE where needed, and avoid older flows.
  • Assignments: who may use the app.
  • Client ID and secret: Okta creates them. Copy them carefully into the app and protect the secret.

Three tokens, three jobs

An OpenID Connect sign-in can produce more than one token, and each has its own purpose. Mixing them up is a very common beginner mistake.

  • ID token: tells the app who just signed in. The app reads it once and uses it to create its own session. It is not meant to be passed on to other services.
  • Access token: carries permission to call an API. It is sent along with each API request and expires quickly, often within minutes to an hour.
  • Refresh token: lets the app quietly get a new access token without asking the person to sign in again. Because it lasts longer, the app must guard it carefully, and Okta can be set to rotate it so an old copy stops working.

Scopes and claims

The app asks for scopes such as “openid” (required for sign-in), “profile,” “email,” and sometimes “groups” or “offline access” for refresh tokens. Okta then fills the tokens with claims that match. If the app needs a custom fact, such as the person’s department or cost center, an administrator can add a custom claim.

Authorization servers

Every Okta organization has an org authorization server that supports basic sign-in. For protecting your own APIs, or for more control over claims and token lifetimes, Okta can offer custom authorization servers, which let you define your own scopes, claims and rules. Availability depends on the plan.

Strengths of OIDC

  • Light, readable messages and friendly to developers.
  • Designed from the start for web, mobile and single-page apps.
  • Works well with APIs, because identity and permission travel together.
  • Strong safeguards such as PKCE and short-lived tokens.

Limits of OIDC

  • Many older business apps never added support.
  • More moving parts to understand: scopes, claims, grant types and token lifetimes.
  • Mistakes in redirect addresses or secrets cause confusing errors.

HSecure Web Authentication (SWA)

The helpful but old-fashioned fallback.

What it is

Some apps have no support for SAML or OpenID Connect. They only have a page where you type a username and a password. Secure Web Authentication solves this by storing the person’s credentials for that app in Okta, in encrypted form, and filling in the sign-in form automatically when the person clicks the tile. A small Okta browser extension does the typing.

Analogy

It is like a personal assistant who knows all your passwords. You tell the assistant, “Please open the old accounting site.” The assistant walks to the door, types your credentials, and opens it for you. It works, but remember that the assistant must still carry the password, which is riskier than a notarized letter.

Where the password comes from

Administrators can choose how the credentials are created for each SWA app. Common choices include letting users create and save their own, having the administrator set a shared or individual credential, or reusing the person’s Okta credentials for that app. Each choice has trade-offs. Individual credentials are better than shared ones, because shared credentials hide who did what.

When SWA makes sense

  • The app is old, small or internal and offers no modern sign-in standard.
  • You still want the person to enter through Okta, so MFA and session rules apply before the app opens.
  • You need a temporary bridge while the vendor works on SAML or OIDC.

The weaknesses to understand

  • Passwords still exist. The app keeps its own passwords, and an attacker who learns one can go directly to the app, bypassing Okta.
  • Browser dependence. It needs the extension and supported browsers, so mobile and unusual setups can be awkward.
  • Page changes break it. If the app changes its sign-in page layout, the form filler can fail.
  • No attribute or group delivery. The app does not learn roles or groups from Okta.
  • Weaker offboarding. Removing someone from Okta stops the form-filling, but the app’s own account may keep working if the password is known elsewhere.
!
Warning

Treat every SWA app as a temporary measure. Keep a list of them, ask each vendor about SAML or OIDC support once a year, and migrate as soon as a better method is available. If you must keep SWA, turn on automatic account removal where possible, and use individual credentials rather than a shared one.

IWS-Federation and the Other Methods

Less common, but you will meet them.

WS-Federation

WS-Federation, often written WS-Fed, is an older federation standard associated with the Microsoft world. It does the same basic job as SAML: Okta, acting as the identity provider, sends a signed token to an app, which trusts it. You may see WS-Federation when connecting older Microsoft-centered services or applications built on older Microsoft identity technology. For some Microsoft integrations, administrators can pick WS-Federation or SAML. When both are available, follow the current guidance from Okta and Microsoft for that product, and test with a pilot group.

Bookmark apps

A bookmark app is simply a link tile. It opens a web address when clicked, and it does nothing about sign-in. It is useful for the company news page or an internal portal that has its own access control. Do not mistake it for single sign-on.

RADIUS

RADIUS is an old but still widely used network protocol. Devices such as VPN gateways and wireless controllers use it to ask a central server, “Should I let this user in?” Okta offers a RADIUS integration through a small agent installed on a company server. The agent receives the request, asks Okta to check the password and the second factor, and returns the answer.

Gateways for on-premises apps

Some older internal apps cannot speak SAML or OIDC at all, and they were built to trust special information added by a front-door server. A gateway product, such as Okta’s access gateway offering, sits in front of those apps, signs people in through Okta, and passes the identity to the app in the form it expects. This avoids rewriting old software.

Identity for custom-built company apps

If your own developers build a new internal tool, the best choice is almost always OpenID Connect, using an Okta-provided software kit for their programming language. They do not need to build a password system at all.

JAPI Services: When Software Talks to Software

Not every sign-on involves a person.

Many tasks happen with nobody sitting at a keyboard. A reporting program pulls data at midnight. A billing service calls an inventory service. A script creates users in Okta every hour. These programs also need to prove who they are. For them, Okta offers the API Services app type, which uses the OAuth 2.0 client credentials flow.

How it works

The program holds a client identifier and a proof, such as a secret or a private key. It shows these to Okta’s token service. If everything is correct, Okta returns an access token that is valid for a short time and only for the scopes the program was granted. The program then shows this token to the API it wants to call.

Analogy

A delivery driver arrives at an office building without any visitor to meet. The driver shows a company badge at the security desk and receives a day pass that opens only the loading dock. The driver is a program, the pass is an access token, and the loading dock is the scope.

Why it matters

  • Programs get narrow permissions that can be listed and reviewed.
  • Access tokens expire quickly, which limits the damage if one leaks.
  • It is safer than long-lived API tokens that copy a person’s powers.
  • It makes accounts for services clear in the logs, separate from human accounts.
i
Tip

Use private-key based proof instead of shared secrets where your tools support it, and rotate whatever you use on a schedule. Give each program its own identity so you can turn one off without disturbing the rest.

KPolicies on Top: Controlling How Strongly People Prove Themselves

The method delivers identity. The policy decides how hard it is to earn.

Every app in Okta is attached to a policy that works the same no matter which sign-on method is chosen. When a person clicks an app tile, or when the app redirects them to Okta, Okta consults the policy before issuing any assertion or token. Policy rules can look at who the person is, which groups they belong to, which device they use, which network they are on and how risky the sign-in appears.

Typical outcomes

Low risk

Allow with one proof

A managed device on the office network opening a low-risk app.

Medium risk

Require two proofs

Most business apps, especially from new places or devices.

High risk

Require a strong factor

Sensitive apps such as finance or customer data, using a security key or passkey.

Blocked

Deny

Unknown devices, banned countries or anonymizing networks.

Why this separation helps

Because policy and method are separate, you can upgrade security without touching the technical connection. If you decide that every finance app should require a security key, you change the policy once. You do not need to change any SAML or OIDC settings. Likewise, you can replace an app’s SWA connection with SAML, and the same strong rules keep protecting it.

Sessions and signing out

Two different sessions exist at once. The first is the person’s Okta session, which proves they signed in to Okta. The second is the app’s own session, which proves they are signed in to that app. They can last different lengths of time. If Okta keeps a person signed in for eight hours but the app ends its own session after fifteen minutes of inactivity, the person will bounce quickly through Okta again, usually without typing anything.

Signing out is harder than signing in. If a person signs out of Okta, are they also signed out of the apps? Not always. Some methods can send a “sign out” message to the app, and some apps ignore it. That is why short app sessions are valuable, because they protect people on shared computers even when a sign-out message is missed.

Rule order matters

Policies are read from top to bottom, and the first matching rule wins. A broad “allow” rule placed above a specific “deny” rule will defeat the deny. When you add a rule, always check where it sits in the list and test with a pilot account.

i
Note

Policies protect the path through Okta. They cannot stop a person from reaching an app directly with a local password, if the app still allows one. That is why it is wise to switch off local sign-in inside apps wherever possible.

LChoosing the Right Method

Turn the whole menu into a simple, repeatable decision.

1

Look in the catalog first

If the app has a ready-made integration, use it. Settings and attribute mappings are already tuned for that app.

2

Ask what the app supports

Check its administration guide for OpenID Connect and SAML. The vendor’s own setup page usually lists them.

3

Prefer OIDC for new apps and apps with APIs

It is lighter, friendlier to developers and a good fit for mobile and single-page apps.

4

Use SAML for established business apps

It is a safe, proven choice, and many enterprise vendors support it only through their paid tiers, so check the plan.

5

Use SWA only when nothing else works

Write down why, assign an owner and set a date to revisit it.

6

Use API Services for machines

Never borrow a person’s identity for a program.

Moving an app from SWA to a modern method

Many organizations start with SWA for speed and later want to improve. The move is usually safe if done in steps.

1

Confirm the vendor supports it

Some vendors offer SAML or OpenID Connect only on higher plans. Check pricing and plan limits before you promise a date.

2

Build the new connection beside the old one

Create a second integration with the new method and assign it only to a pilot group. Leave the old one running for everyone else.

3

Match the usernames

The new method must send an identifier that matches the app’s existing accounts. If it does not, people may see an empty new account instead of their old data.

4

Move people in waves

Shift one team at a time, then watch the System Log and ask for feedback.

5

Retire the old way

Remove the SWA integration, switch off the app’s own passwords where possible, and update your documentation.

SituationSuggested methodWhy
New internal web app built by your developersOpenID ConnectSimple, modern and well supported by software kits
Mobile app for customers or staffOpenID Connect with PKCEDesigned for apps that cannot hide secrets
Established enterprise SaaS such as a CRM or file-sharing toolSAML 2.0Widely supported and mature
Old tool with only a username and password pageSWALast resort, with an end date
Nightly script calling an APIAPI ServicesShort-lived tokens with narrow permission
VPN or Wi-Fi controllerRADIUSThat is the language network gear speaks
Old on-premises app needing special headersGatewayAvoids rewriting the old app

MSign-On, Provisioning and Lifecycle Together

A complete app connection has more than one part.

When Priya joins the company, two things must happen for her to use the expense tool. She must be able to sign in (the sign-on method), and she must have an account inside the tool (provisioning). If only the first exists, her first sign-in may create an account on the fly in some apps, or may fail in others with an error such as “user not found.” If only the second exists, she has an account but no safe way to sign in.

Just-in-time accounts

Some apps support just-in-time creation. When a person arrives with a valid assertion for the first time, the app creates their account then and there, using the attributes in the assertion. It is simple, but it handles only creation. It does nothing about later updates or removal.

Provisioning for full lifecycle

For the full life of an account, Okta can create, update and deactivate accounts in the app, often through a standard called SCIM or through an app-specific connector. When Priya changes teams, her details in the app change. When she leaves, her app account is turned off.

The result is a clean pair: the sign-on method brings her in safely, and provisioning keeps her account tidy from her first day to her last.

i
Tip

For every app, write two lines in your notes: “Sign-on method: ___” and “Provisioning: ___.” If the second line says “manual,” plan a regular clean-up, because manual removal is where forgotten accounts come from.

NSecurity Considerations by Method

Each method has its own typical weak spots.

SAML risks

The crown jewels of SAML are the signing keys. If an attacker steals them, they can forge assertions that look perfectly real, a technique known as Golden SAML. Security researchers described the idea in 2017, and public reports about the SolarWinds-related intrusions revealed in late 2020 described attackers using forged SAML tokens against on-premises federation servers. With a cloud identity provider, the vendor guards the keys, but you still protect certificates in apps, restrict who can edit SAML settings, and watch for unexpected certificate changes.

Another SAML risk is a weak check inside the app. The app must verify the signature, the intended audience, the expiry time and the issuer. An app that skips any of these can be fooled.

OIDC risks

The most common mistakes are sloppy redirect addresses, such as wildcards that let attackers redirect tokens to their own sites, and leaked client secrets stored in public code. Use exact redirect addresses, use PKCE for apps that cannot keep a secret, keep tokens short-lived, and avoid the older implicit flow that placed tokens directly into the browser address.

SWA risks

Because the app still has its own password, anyone who learns it can bypass Okta. Shared credentials remove accountability. A compromised browser extension or computer could expose filled-in credentials. Limit SWA to low-risk apps, require strong Okta sign-in first, and migrate when you can.

API Services risks

Secrets and keys for services tend to live in scripts and configuration files, where they can be copied, committed to public repositories or left in old backups. Store them in a secrets vault, rotate them, grant minimum scopes, and review which services still exist.

Risks that apply to all of them

  • Over-broad assignments. Giving an app to “Everyone” when only Finance needs it.
  • Local passwords left on. People or attackers can bypass Okta entirely.
  • Weak policies. Even a perfect SAML setup is risky if the policy allows sign-in from anywhere with only a password.
  • Unwatched changes. New apps, changed certificates and edited redirect addresses should raise alerts.
!
Warning

Limit who may create or edit app integrations. An administrator who can edit an app’s redirect address or certificate can quietly redirect sign-ins somewhere else. Treat these permissions as sensitive.

OMonitoring and Troubleshooting

When sign-on breaks, a method-by-method checklist finds the cause fast.

Where to look

Okta’s System Log records sign-in events and many app-related messages. Start by searching for the person and the time. The entry often says what failed in plain words, such as a policy denial or a failed second factor. For SAML issues, administrators sometimes use a browser tool that shows the assertion that was sent, so they can compare it with what the app expects.

SymptomLikely methodCommon causeFirst fix to try
“Invalid signature” or “cannot validate assertion”SAMLWrong or expired certificate in the appUpload the current Okta certificate to the app
“Audience mismatch” or “invalid issuer”SAMLAudience URI or entity ID does not matchCopy the exact value from the app and paste it again
“User not found” after successful sign-inSAML or OIDCThe app has no matching account, or the username format differsCheck Name ID or username format and provisioning
“redirect_uri mismatch”OIDCThe app sent an address not on the registered listAdd the exact address in Okta, character for character
“invalid client” or “unauthorized client”OIDC or API ServicesWrong client ID, wrong secret or wrong grant typeRecheck credentials and enabled grant types
Sign-in works for some people onlyAnyThe app is assigned to a group the others are not inCheck assignments and group rules
Password filled in wrongly or not at allSWAMissing browser extension or changed sign-in pageInstall the extension and re-record the form
Roles in the app are wrongSAML or OIDCGroup or attribute mapping does not match the appReview attribute and group statements
Everything suddenly fails at onceSAMLA signing certificate expired overnightRotate the certificate and update the app

Numbers worth watching

  • Number of apps by method. A growing SWA list is a warning.
  • Days until certificate expiry for each SAML app.
  • Sign-in failure rate per app, to spot broken connections early.
  • Apps with local passwords still enabled.
  • Service accounts and their last-used dates.
  • Provisioning errors per app.

PDesign Patterns and Anti-Patterns

Habits that scale, and habits that hurt.

Helpful patterns

Modern first, fallback second

Adopt a written rule: OpenID Connect first, SAML second, SWA only with approval and an end date. New apps arrive in the best shape, and old ones have a visible path to improvement.

Policy tiers shared across methods

Create a few standard policies, such as Standard, Sensitive and Admin, and attach apps to them. Method choice and policy choice stay independent.

Group-based assignments

Assign each app to groups, never to individuals. Review the groups regularly with the app owner.

Certificate calendar

Keep a single calendar showing every SAML certificate expiry date, with reminders thirty and ten days ahead. This turns surprise outages into routine chores.

Pilot then roll out

Set up each new integration for a small pilot group first, test sign-in, sign-out, roles and account creation, then widen access.

Anti-patterns to avoid

ANTI-PATTERN 01Avoid
What people do

They choose SWA for every app because it is quick, even when SAML or OIDC is available.

Why it hurts

Passwords stay alive in every app, roles never flow from Okta, and offboarding is only partly effective.

Better approach

Check for modern support first. Use SWA as a documented exception.

ANTI-PATTERN 02Avoid
What people do

They register broad redirect addresses, such as wildcards, to make testing easier, and forget to tighten them.

Why it hurts

Attackers can trick the flow into sending codes or tokens to places they control.

Better approach

Register exact addresses only, and clean up test addresses before going live.

ANTI-PATTERN 03Avoid
What people do

They leave a “backup” local administrator login enabled in an app after single sign-on works.

Why it hurts

That login ignores Okta’s policies and MFA, so it becomes the easiest way in.

Better approach

Keep one or two tightly protected emergency accounts, stored securely, tested occasionally and alerted on use.

ANTI-PATTERN 04Avoid
What people do

They run automated jobs using an employee’s personal API token.

Why it hurts

When the employee leaves, jobs break, and while they stay, the token carries all of that person’s power.

Better approach

Use an API Services app with narrow scopes and a dedicated, owned identity for each job.

QBest Practices and Common Mistakes

A checklist you can use for every new connection.

Best practices

  • Pick the most modern method the app supports. OpenID Connect first, then SAML, then SWA only if necessary.
  • Use the catalog entry when one exists. It saves time and avoids settings mistakes.
  • Copy values exactly. Addresses, audience values and entity IDs must match character for character.
  • Assign by group and keep an owner for every app.
  • Attach a suitable policy and make the policy stricter for sensitive apps.
  • Turn on provisioning whenever the app supports it, including automatic deactivation.
  • Switch off local passwords inside the app wherever you can.
  • Record certificate expiry dates and rotate certificates before they expire.
  • Test in a preview organization first, or with a pilot group in production.
  • Document each app: method, policy, owner, provisioning status and next review date.

A pre-flight checklist before you save

Pilots use a checklist before every flight, even though they have flown thousands of times. Administrators benefit from the same habit. Before you save and announce a new app connection, read through these questions slowly.

  • Does the method match what the app vendor documents for this plan?
  • Are the sign-in address, audience value and redirect addresses copied exactly, with no extra spaces or slashes?
  • Which identifier will the app use to find the person, and is it stable over time?
  • Which attributes and groups are being sent, and does the app really need every one?
  • Which authentication policy protects this app, and is it strict enough for the data inside?
  • Who owns the app, and who will review its access list?
  • Is provisioning on, and does it also remove accounts?
  • When does the certificate or secret expire, and where is that date written down?
  • What is the way back if the pilot fails?

Answering these nine questions takes ten minutes. Skipping them can cost a whole morning of lost sign-ins for a department.

Common mistakes

  • Mixing up the three questions. A policy problem gets blamed on the method, or a provisioning problem on sign-on.
  • Choosing a method before reading the app’s guide. Vendors sometimes support a method only on certain plans.
  • Typing values by hand. Use copy and paste or metadata files.
  • Forgetting about sign-out. Test what happens when the person logs out of Okta or the app.
  • Sending too many attributes. Share only what the app needs, because extra personal data increases risk.
  • Treating a username as permanent. If the name format changes, accounts can mismatch. Prefer a stable identifier where the app allows it.
  • Letting secrets live in public places. Never paste client secrets into chat or public code.
  • Neglecting old SWA apps. They quietly pile up as the riskiest part of the estate.

RReal-World Scenarios

Short stories to tie everything together.

Connecting a CRM with SAML

A sales team uses a cloud CRM that supports SAML. The administrator picks the catalog entry, copies the app’s sign-in address and audience value into Okta, sets the username to the work email, and adds attributes for first name, last name and department. She uploads Okta’s certificate to the CRM, assigns the “Sales” group, and tests with two pilot users. Sales staff then find a new tile, and their department attribute even sets the right role in the CRM.

A developer team building a mobile app

A company’s developers create a new mobile app for field engineers. They register an OpenID Connect native app in Okta, add the app’s exact redirect address, use the authorization code flow with PKCE, and ask for the profile and email scopes. Engineers sign in with Okta Verify, and the app receives tokens. Nobody on the team writes a password screen at all.

An old accounting site with only a password form

Finance relies on a small accounting tool whose vendor has no plans for SAML. The administrator uses SWA, lets each user save an individual credential, and attaches a strict policy that demands a strong second factor before the tile opens. She writes the tool on the “migrate later” list and sets a calendar reminder to ask the vendor again in a year.

Cloud access for engineers

An engineering group needs to reach a cloud provider’s console. Many cloud providers, including Amazon Web Services, accept SAML-based federation from an outside identity provider. Okta signs engineers in, passes group names as attributes, and the cloud side maps them to roles with limited permissions. When an engineer leaves the group, their cloud access disappears with their Okta group membership.

A nightly data export

An analytics team schedules a program that pulls user counts from Okta every night. Rather than use an administrator’s personal token, they create an API Services app with only the permission to read the needed data. If the program is compromised, an attacker gains only that narrow read permission, and the security team sees the service’s name in the log.

An expired certificate on a Monday

On Monday morning, nobody in the design department can open a popular design tool. The System Log shows signature failures starting at midnight. The administrator checks the certificate calendar and finds that the SAML signing certificate expired over the weekend. She generates a new one, uploads it to the tool, and tests it. Afterward, she adds earlier reminders so the next renewal is calm.

SFrequently Asked Questions

Q1What is an app sign-on method in Okta?
It is the technical way Okta tells an application who the person is, such as SAML, OpenID Connect or SWA. It is chosen for each app when you create or configure the integration.
Q2Which method should I choose for a brand-new app?
OpenID Connect is usually the best default for new web and mobile apps. If the app’s vendor only supports SAML, choose SAML. Use SWA only when nothing else is available.
Q3Is SAML outdated?
No. It is older, but it remains the most common standard for established business applications and is perfectly secure when configured and monitored properly.
Q4What is the difference between SAML and OpenID Connect?
Both prove who the user is. SAML uses heavier XML messages and suits established web apps. OpenID Connect uses lighter JSON tokens built on OAuth 2.0 and suits web, mobile and single-page apps and API-heavy systems.
Q5Does SWA share my password with the app?
In a sense, yes. Okta stores the credentials and fills them into the app’s sign-in form for you, so the app still receives a password. That is why SWA is considered a fallback, not a first choice.
Q6Can I change the sign-on method later?
Often yes, but it usually means setting up a new integration on both sides and testing carefully. Plan a pilot group and a quiet change window, and keep the old method until the new one is proven.
Q7What is an assertion?
It is the signed statement Okta sends in SAML. It says who the person is, when the statement was made, who it is meant for, and often a few facts about the person.
Q8What does PKCE do?
PKCE protects the one-time code in OpenID Connect and OAuth 2.0 flows. It makes a stolen code useless, which is important for mobile and browser-based apps that cannot keep a secret.
Q9Do sign-on methods control how many factors people need?
No. The authentication policy attached to the app controls that. The method only controls how the identity travels to the app.
Q10Why does my sign-in fail with “audience mismatch”?
The app and Okta disagree about the app’s unique name. Copy the audience or entity ID from the app and paste it exactly into Okta, with no extra spaces or slashes.
Q11When do I use API Services?
When software needs to call an API without a person present, such as a scheduled job or a service-to-service call. It gives the software a narrow, short-lived access token.
Q12Do all Okta plans offer every method and feature?
Not necessarily. Some options, such as custom authorization servers or certain gateways and governance tools, depend on your plan. Menu names also change between releases, so check your own console and Okta’s current documentation.

TSummary and Key Takeaways

You began with a screen full of unfamiliar acronyms. Now you can explain each one in a sentence: an app sign-on method is the language Okta uses to tell one application who a person is. The right choice makes sign-in smooth and safe, and the wrong choice leaves quiet risks behind. With a simple decision path, a few habits and a good checklist, you can connect apps confidently.

Key Takeaways

  • Definition: A sign-on method is how Okta delivers proof of identity to an app. It is separate from the authentication policy, provisioning and assignments.
  • Main methods: SAML 2.0 and OpenID Connect handle most apps, SWA is the password-filling fallback, WS-Federation is a legacy option, and API Services serves software.
  • Choosing: Check the catalog first, then prefer OpenID Connect, then SAML, and use SWA only with a written reason and an end date.
  • OIDC details: Use the authorization code flow, PKCE for apps that cannot keep secrets, exact redirect addresses and short-lived tokens.
  • SAML details: Match the audience and sign-in address exactly, protect the signing certificate, and track its expiry date.
  • Security: Pair every app with a suitable policy, switch off local passwords, limit who can edit integrations and watch the logs.
  • Operations: Pilot every change, document each app’s method, owner and provisioning, and keep a certificate calendar so renewals never surprise you.