Federated Identity Architect
Compare federated identity protocols including SAML 2.0, OpenID Connect, OAuth 2.0, and Kerberos. Answer environment and requirement questions to get scored protocol recommendations with visual authentication flow diagrams and a Kerberos troubleshooter.
SAML vs OIDC vs OAuth 2.0 vs Kerberos — Free Federated Identity Decision Tool
This federated identity architect scores five authentication protocols — SAML 2.0, OpenID Connect, OAuth 2.0, Kerberos and WS-Federation — against your actual environment, then shows you the authentication flows step by step and gives you an implementation checklist for whichever protocol wins. It also includes an eight-item Kerberos troubleshooting workbench with the diagnostic commands for each failure mode. Everything runs in your browser; no environment details are transmitted, and a PDF of the recommendation can be exported locally.
The problem it solves is that “which protocol should we use?” has no universal answer, and the internet is full of confident ones. The right choice depends on who your users are, how many applications you have, what identity provider you already run, which clouds you are in, and what compliance regime you sit under. The tool asks those questions and scores accordingly.
How to Use It
- Environment — describe your organisation: type (enterprise, SaaS provider, government, education, healthcare, SMB), existing identity provider (Active Directory, Entra ID, Okta, Google Workspace, or none), user population (internal employees, B2C customers, B2B partners, or mixed), application count, application types and compliance requirements.
- Protocols — see each protocol scored as a Strong, Moderate or Weak fit, with its strengths and weaknesses and a five-dimension breakdown: ease of integration, security strength, mobile support, enterprise support and cloud readiness.
- Auth Flows — step-by-step diagrams of the SAML SP-initiated flow, the OIDC authorization code flow, the OAuth 2.0 authorization code flow with PKCE, and the Kerberos AS-REQ/TGS-REQ/AP-REQ exchange.
- Kerberos Fix — a diagnostic checklist covering the eight things that actually break Kerberos, each with symptoms, the command to run and the resolution steps.
- Summary — the recommendation with an implementation checklist, exportable as a PDF.
The Protocols, and When Each Applies
| Protocol | What it is | Best for |
|---|---|---|
| SAML 2.0 | XML-based federation standard | Enterprise SSO, legacy integration, government and FedRAMP environments |
| OpenID Connect | Identity layer on top of OAuth 2.0, JSON/REST | Modern web and mobile apps, B2C, API-driven architectures |
| OAuth 2.0 | Authorization framework — not authentication | API authorization, delegated access, microservices |
| Kerberos | Ticket-based network authentication | On-premises Windows environments and Active Directory |
| WS-Federation | Web services federation, Microsoft ecosystem | ADFS integration and older Microsoft estates |
SAML 2.0 is mature, exhaustively implemented across enterprise SaaS, and well understood by auditors. Its weaknesses are all consequences of XML: verbose assertions, awkward debugging, browser-redirect-based flows that suit mobile applications poorly, and signature validation with a long history of subtle implementation bugs. If your users are employees, your applications are enterprise SaaS with existing SAML connectors, and your identity provider is ADFS, Entra ID or Okta, SAML remains the pragmatic answer.
OpenID Connect is the modern default for anything new. It layers identity on OAuth 2.0, issues a signed JSON ID token, and provides discovery so a client can configure itself from a well-known URL. It suits mobile and single-page applications far better than SAML, and it is the natural choice for customer-facing (B2C) authentication.
OAuth 2.0 is the one most frequently misused. It is an authorization framework: it answers “may this client access this resource on this user’s behalf?” and says nothing reliable about who the user is. Using a bare OAuth access token as proof of identity is a genuine and well-documented vulnerability class. When you need identity, use OIDC — which is OAuth plus a properly defined identity layer. Use plain OAuth 2.0 for API authorization and delegated access.
Kerberos is excellent at what it does: mutual authentication with no password ever crossing the network, and very fast once a ticket-granting ticket is held. It also requires KDC infrastructure, is acutely sensitive to clock skew, and has essentially no story for mobile or cloud-native applications. In practice it stays as the on-premises Windows authentication layer while federation handles everything beyond the domain.
WS-Federation is legacy. It works well inside a Microsoft estate with ADFS, and OIDC is superseding it. Do not choose it for new work.
Choosing: A Practical Decision Path
The scoring is nuanced, but the underlying reasoning is not complicated:
- Building a new customer-facing application? OIDC.
- Building a mobile application? OIDC with the authorization code flow and PKCE. The implicit flow is deprecated and should not be used.
- Integrating enterprise SaaS applications that already ship SAML connectors? SAML 2.0 — the integration work is already done.
- Securing an API where a service acts for a user? OAuth 2.0, with OIDC on top if the API also needs to know who the user is.
- Authenticating domain-joined machines and services on a Windows network? Kerberos.
- Under FedRAMP or a similarly conservative regime? SAML tends to score highest, because the tooling, guidance and audit precedent are mature.
Most real environments end up running two or three of these simultaneously, and that is the correct outcome rather than a failure of consolidation: Kerberos inside the domain, SAML for existing SaaS, OIDC for anything new.
Worked Comparison: SAML vs OIDC Login
The same sign-in, expressed twice. SAML 2.0, SP-initiated:
1. User requests a protected resource at the Service Provider
2. SP redirects the browser to the IdP with a signed AuthnRequest
3. User presents credentials to the IdP
4. IdP authenticates the user
5. IdP POSTs a signed XML SAML Response to the SP's ACS URL
6. SP validates the assertion signature and grants accessOIDC authorization code flow:
1. User clicks "Sign In" in the client application
2. Client redirects to the authorization server's /authorize endpoint (scope=openid)
3. Authorization server presents a login prompt
4. User enters credentials and consents
5. Authorization server returns an authorization code via redirect
6. Client exchanges the code at the /token endpoint (back-channel)
7. Authorization server returns an ID Token (JWT) plus an Access Token
8. Client validates the ID Token and creates a sessionThe structural difference is step 6. SAML delivers the assertion through the browser in a single front-channel POST; OIDC delivers only a short-lived code through the browser and exchanges it for tokens over a direct back-channel call. That back-channel exchange — hardened further by PKCE, which binds the code to the client that requested it — is why OIDC is more comfortable in environments where the browser cannot be fully trusted, such as mobile and single-page applications.
The Kerberos Troubleshooting Workbench
Kerberos failures are famously opaque, but they cluster into a small number of causes. The tool walks through eight, each with the command that confirms it:
- Time sync — clock skew beyond five minutes fails authentication outright. Check with
w32tm /query /statuson Windows orntpstaton Linux. - KDC reachability — port 88 must be open on both TCP and UDP. Test with
Test-NetConnection <KDC> -Port 88ornc -zv <KDC> 88. - SPN issues — missing or duplicate Service Principal Names break service tickets. List with
setspn -L <account>and find duplicates withsetspn -X. - DNS resolution — Kerberos depends on SRV records. Verify
_kerberos._tcp.DOMAINand_ldap._tcp.DOMAIN, and confirm forward and reverse records agree. - Delegation — the classic double-hop failure. Prefer constrained or resource-based constrained delegation; avoid unconstrained delegation in production, as it is a serious security exposure.
- Encryption types — mismatched support between client, KDC and service. Inspect with
klist -e; standardise on AES256 and remove RC4 only after confirming AES everywhere. - Ticket expiration — a TGT past its lifetime (10 hours by default) leaves a session that looks authenticated but cannot reach services.
klistto inspect,klist purgeto clear. - Cross-realm trust — verify with
nltest /domain_trustsandnltest /sc_verify:DOMAIN.
If you take one habit from that list, make it checking the clock first. Time skew is the single most common cause and the fastest to rule out.
Related Tools
The JWT decoder unpacks the ID and access tokens OIDC issues so you can inspect claims, expiry and signing algorithm. Kerberos SRV record problems are diagnosed with the DNS lookup tool, federation signing certificates with the X.509 certificate decoder, and failed authentication events with the SIEM query builder.
Frequently Asked Questions
What is the difference between OAuth 2.0 and OpenID Connect?
OAuth 2.0 is authorization — granting a client access to a resource. OIDC adds an authentication layer on top, issuing a signed ID token that states who the user is. Using a bare OAuth access token as proof of identity is a known vulnerability pattern; use OIDC when you need to know who someone is.
Should I use SAML or OIDC?
OIDC for anything new, particularly mobile, single-page and customer-facing applications. SAML when you are integrating enterprise SaaS that already supports it, or operating under a compliance regime with established SAML precedent. Both are secure when implemented correctly.
Is SAML deprecated?
No. SAML 2.0 remains widely deployed and actively supported across enterprise SaaS, and will be for years. It is simply no longer the default choice for new development.
Can I use Kerberos in the cloud?
Not natively — it assumes a KDC and network topology that cloud applications do not have. The standard pattern is Kerberos on-premises with federation (SAML or OIDC) bridging to cloud services, often through a hybrid identity provider that trusts the on-premises directory.
What is PKCE and do I need it?
Proof Key for Code Exchange binds an authorization code to the client that requested it, preventing a stolen code from being redeemed by anyone else. It is required for public clients (mobile and SPA) and recommended for all clients. Current guidance is to use the authorization code flow with PKCE everywhere and never the implicit flow.
What is the double-hop problem?
A user authenticates to service A, which must then reach service B as that user. Without delegation configured, the credential cannot make the second hop and B rejects the request. Constrained delegation solves it while restricting which services A may impersonate to.
Why does Kerberos fail with a clock skew error?
Kerberos tickets carry timestamps to prevent replay, and the default tolerance is five minutes. If a client, the KDC or the service drifts beyond that, authentication fails. Confirm NTP is running and synchronised on every domain member.
Do I need WS-Federation?
Only for existing ADFS or older Microsoft integrations that require it. It is being superseded by OIDC and is not a sensible choice for new work.
Can one organisation use several protocols at once?
Yes, and most do. A common pattern is Kerberos for domain-joined resources, SAML for established SaaS, and OIDC for new internal and customer-facing applications, all fronted by a single identity provider so the user experience stays coherent.
Is my environment information sent anywhere?
No. Scoring, flow diagrams, the Kerberos checklist and the PDF export all run in your browser. Nothing you enter is transmitted or stored.
SAML vs OIDC vs OAuth 2.0 vs Kerberos — Free Federated Identity Decision Tool
This federated identity architect scores five authentication protocols — SAML 2.0, OpenID Connect, OAuth 2.0, Kerberos and WS-Federation — against your actual environment, then shows you the authentication flows step by step and gives you an implementation checklist for whichever protocol wins. It also includes an eight-item Kerberos troubleshooting workbench with the diagnostic commands for each failure mode. Everything runs in your browser; no environment details are transmitted, and a PDF of the recommendation can be exported locally.
The problem it solves is that “which protocol should we use?” has no universal answer, and the internet is full of confident ones. The right choice depends on who your users are, how many applications you have, what identity provider you already run, which clouds you are in, and what compliance regime you sit under. The tool asks those questions and scores accordingly.
How to Use It
- Environment — describe your organisation: type (enterprise, SaaS provider, government, education, healthcare, SMB), existing identity provider (Active Directory, Entra ID, Okta, Google Workspace, or none), user population (internal employees, B2C customers, B2B partners, or mixed), application count, application types and compliance requirements.
- Protocols — see each protocol scored as a Strong, Moderate or Weak fit, with its strengths and weaknesses and a five-dimension breakdown: ease of integration, security strength, mobile support, enterprise support and cloud readiness.
- Auth Flows — step-by-step diagrams of the SAML SP-initiated flow, the OIDC authorization code flow, the OAuth 2.0 authorization code flow with PKCE, and the Kerberos AS-REQ/TGS-REQ/AP-REQ exchange.
- Kerberos Fix — a diagnostic checklist covering the eight things that actually break Kerberos, each with symptoms, the command to run and the resolution steps.
- Summary — the recommendation with an implementation checklist, exportable as a PDF.
The Protocols, and When Each Applies
| Protocol | What it is | Best for |
|---|---|---|
| SAML 2.0 | XML-based federation standard | Enterprise SSO, legacy integration, government and FedRAMP environments |
| OpenID Connect | Identity layer on top of OAuth 2.0, JSON/REST | Modern web and mobile apps, B2C, API-driven architectures |
| OAuth 2.0 | Authorization framework — not authentication | API authorization, delegated access, microservices |
| Kerberos | Ticket-based network authentication | On-premises Windows environments and Active Directory |
| WS-Federation | Web services federation, Microsoft ecosystem | ADFS integration and older Microsoft estates |
SAML 2.0 is mature, exhaustively implemented across enterprise SaaS, and well understood by auditors. Its weaknesses are all consequences of XML: verbose assertions, awkward debugging, browser-redirect-based flows that suit mobile applications poorly, and signature validation with a long history of subtle implementation bugs. If your users are employees, your applications are enterprise SaaS with existing SAML connectors, and your identity provider is ADFS, Entra ID or Okta, SAML remains the pragmatic answer.
OpenID Connect is the modern default for anything new. It layers identity on OAuth 2.0, issues a signed JSON ID token, and provides discovery so a client can configure itself from a well-known URL. It suits mobile and single-page applications far better than SAML, and it is the natural choice for customer-facing (B2C) authentication.
OAuth 2.0 is the one most frequently misused. It is an authorization framework: it answers “may this client access this resource on this user’s behalf?” and says nothing reliable about who the user is. Using a bare OAuth access token as proof of identity is a genuine and well-documented vulnerability class. When you need identity, use OIDC — which is OAuth plus a properly defined identity layer. Use plain OAuth 2.0 for API authorization and delegated access.
Kerberos is excellent at what it does: mutual authentication with no password ever crossing the network, and very fast once a ticket-granting ticket is held. It also requires KDC infrastructure, is acutely sensitive to clock skew, and has essentially no story for mobile or cloud-native applications. In practice it stays as the on-premises Windows authentication layer while federation handles everything beyond the domain.
WS-Federation is legacy. It works well inside a Microsoft estate with ADFS, and OIDC is superseding it. Do not choose it for new work.
Choosing: A Practical Decision Path
The scoring is nuanced, but the underlying reasoning is not complicated:
- Building a new customer-facing application? OIDC.
- Building a mobile application? OIDC with the authorization code flow and PKCE. The implicit flow is deprecated and should not be used.
- Integrating enterprise SaaS applications that already ship SAML connectors? SAML 2.0 — the integration work is already done.
- Securing an API where a service acts for a user? OAuth 2.0, with OIDC on top if the API also needs to know who the user is.
- Authenticating domain-joined machines and services on a Windows network? Kerberos.
- Under FedRAMP or a similarly conservative regime? SAML tends to score highest, because the tooling, guidance and audit precedent are mature.
Most real environments end up running two or three of these simultaneously, and that is the correct outcome rather than a failure of consolidation: Kerberos inside the domain, SAML for existing SaaS, OIDC for anything new.
Worked Comparison: SAML vs OIDC Login
The same sign-in, expressed twice. SAML 2.0, SP-initiated:
1. User requests a protected resource at the Service Provider
2. SP redirects the browser to the IdP with a signed AuthnRequest
3. User presents credentials to the IdP
4. IdP authenticates the user
5. IdP POSTs a signed XML SAML Response to the SP's ACS URL
6. SP validates the assertion signature and grants access
OIDC authorization code flow:
1. User clicks "Sign In" in the client application
2. Client redirects to the authorization server's /authorize endpoint (scope=openid)
3. Authorization server presents a login prompt
4. User enters credentials and consents
5. Authorization server returns an authorization code via redirect
6. Client exchanges the code at the /token endpoint (back-channel)
7. Authorization server returns an ID Token (JWT) plus an Access Token
8. Client validates the ID Token and creates a session
The structural difference is step 6. SAML delivers the assertion through the browser in a single front-channel POST; OIDC delivers only a short-lived code through the browser and exchanges it for tokens over a direct back-channel call. That back-channel exchange — hardened further by PKCE, which binds the code to the client that requested it — is why OIDC is more comfortable in environments where the browser cannot be fully trusted, such as mobile and single-page applications.
The Kerberos Troubleshooting Workbench
Kerberos failures are famously opaque, but they cluster into a small number of causes. The tool walks through eight, each with the command that confirms it:
- Time sync — clock skew beyond five minutes fails authentication outright. Check with
w32tm /query /statuson Windows orntpstaton Linux. - KDC reachability — port 88 must be open on both TCP and UDP. Test with
Test-NetConnection <KDC> -Port 88ornc -zv <KDC> 88. - SPN issues — missing or duplicate Service Principal Names break service tickets. List with
setspn -L <account>and find duplicates withsetspn -X. - DNS resolution — Kerberos depends on SRV records. Verify
_kerberos._tcp.DOMAINand_ldap._tcp.DOMAIN, and confirm forward and reverse records agree. - Delegation — the classic double-hop failure. Prefer constrained or resource-based constrained delegation; avoid unconstrained delegation in production, as it is a serious security exposure.
- Encryption types — mismatched support between client, KDC and service. Inspect with
klist -e; standardise on AES256 and remove RC4 only after confirming AES everywhere. - Ticket expiration — a TGT past its lifetime (10 hours by default) leaves a session that looks authenticated but cannot reach services.
klistto inspect,klist purgeto clear. - Cross-realm trust — verify with
nltest /domain_trustsandnltest /sc_verify:DOMAIN.
If you take one habit from that list, make it checking the clock first. Time skew is the single most common cause and the fastest to rule out.
Related Tools
The JWT decoder unpacks the ID and access tokens OIDC issues so you can inspect claims, expiry and signing algorithm. Kerberos SRV record problems are diagnosed with the DNS lookup tool, federation signing certificates with the X.509 certificate decoder, and failed authentication events with the SIEM query builder.
Frequently Asked Questions
What is the difference between OAuth 2.0 and OpenID Connect?
OAuth 2.0 is authorization — granting a client access to a resource. OIDC adds an authentication layer on top, issuing a signed ID token that states who the user is. Using a bare OAuth access token as proof of identity is a known vulnerability pattern; use OIDC when you need to know who someone is.
Should I use SAML or OIDC?
OIDC for anything new, particularly mobile, single-page and customer-facing applications. SAML when you are integrating enterprise SaaS that already supports it, or operating under a compliance regime with established SAML precedent. Both are secure when implemented correctly.
Is SAML deprecated?
No. SAML 2.0 remains widely deployed and actively supported across enterprise SaaS, and will be for years. It is simply no longer the default choice for new development.
Can I use Kerberos in the cloud?
Not natively — it assumes a KDC and network topology that cloud applications do not have. The standard pattern is Kerberos on-premises with federation (SAML or OIDC) bridging to cloud services, often through a hybrid identity provider that trusts the on-premises directory.
What is PKCE and do I need it?
Proof Key for Code Exchange binds an authorization code to the client that requested it, preventing a stolen code from being redeemed by anyone else. It is required for public clients (mobile and SPA) and recommended for all clients. Current guidance is to use the authorization code flow with PKCE everywhere and never the implicit flow.
What is the double-hop problem?
A user authenticates to service A, which must then reach service B as that user. Without delegation configured, the credential cannot make the second hop and B rejects the request. Constrained delegation solves it while restricting which services A may impersonate to.
Why does Kerberos fail with a clock skew error?
Kerberos tickets carry timestamps to prevent replay, and the default tolerance is five minutes. If a client, the KDC or the service drifts beyond that, authentication fails. Confirm NTP is running and synchronised on every domain member.
Do I need WS-Federation?
Only for existing ADFS or older Microsoft integrations that require it. It is being superseded by OIDC and is not a sensible choice for new work.
Can one organisation use several protocols at once?
Yes, and most do. A common pattern is Kerberos for domain-joined resources, SAML for established SaaS, and OIDC for new internal and customer-facing applications, all fronted by a single identity provider so the user experience stays coherent.
Is my environment information sent anywhere?
No. Scoring, flow diagrams, the Kerberos checklist and the PDF export all run in your browser. Nothing you enter is transmitted or stored.
Designing Identity Architecture?
Our vCISO team designs enterprise identity solutions with SSO, federation, and zero-trust principles.
What Is Federated Identity
Federated identity is an authentication architecture that allows users to access multiple independent systems and organizations using a single set of credentials managed by a trusted identity provider (IdP). Instead of each application maintaining its own user database, federated identity delegates authentication to a central authority and establishes trust through cryptographic tokens.
This approach is the foundation of enterprise Single Sign-On (SSO), cross-organization collaboration, and consumer identity services like "Sign in with Google." Federated identity reduces password fatigue, centralizes security policy enforcement, and simplifies user provisioning across complex multi-application environments.
How Federation Works
Federated identity relies on trust relationships between three parties:
- Identity Provider (IdP) — Authenticates users and issues security tokens (e.g., Okta, Azure AD, Auth0)
- Service Provider (SP) — The application or system the user wants to access
- User — The person authenticating
Federation Protocols
| Protocol | Token Format | Primary Use Case | Typical Environment |
|---|---|---|---|
| SAML 2.0 | XML assertion | Enterprise SSO | Corporate applications, legacy systems |
| OpenID Connect | JWT (id_token) | Web and mobile SSO | Modern web apps, consumer services |
| OAuth 2.0 | Access token (JWT or opaque) | API authorization | API access, third-party integrations |
| WS-Federation | XML assertion | Microsoft ecosystem | SharePoint, ADFS, legacy Microsoft apps |
| SCIM | JSON | User provisioning | Automated account creation/deprovisioning |
Typical SAML Flow
- User navigates to the Service Provider (application)
- SP redirects the user to the Identity Provider with a SAML AuthnRequest
- IdP authenticates the user (password, MFA, certificate, etc.)
- IdP returns a signed SAML Assertion containing user attributes and group memberships
- SP validates the assertion signature, extracts attributes, and creates a local session
Common Use Cases
- Enterprise SSO architecture: Design federated identity systems that connect corporate applications to a central IdP
- Multi-organization collaboration: Enable employees from partner organizations to access shared resources without creating separate accounts
- Cloud migration planning: Map existing LDAP/Active Directory authentication to cloud-based federation with Azure AD, Okta, or Ping Identity
- Zero Trust implementation: Federation is a building block of Zero Trust architecture, ensuring every access request is authenticated by a trusted identity provider
- Protocol selection: Compare SAML, OIDC, and OAuth 2.0 to determine which federation protocol fits your application requirements
Best Practices
- Implement MFA at the IdP — Federated identity centralizes authentication, which means the IdP is a high-value target. Require multi-factor authentication for all federated logins.
- Enforce session lifetime limits — Set maximum session durations and idle timeouts. Long-lived sessions negate the security benefits of centralized authentication.
- Automate deprovisioning with SCIM — When employees leave or change roles, SCIM-based provisioning ensures their access is revoked across all federated service providers within minutes.
- Validate token signatures rigorously — Never accept unsigned or self-signed SAML assertions. Always verify the IdP's signing certificate and check assertion expiration timestamps.
- Use OIDC for new applications — Unless you need SAML for legacy compatibility, OpenID Connect is simpler, uses JSON instead of XML, and has better library support in modern frameworks.
Frequently Asked Questions
Common questions about the Federated Identity Architect
Federated identity allows users to authenticate once with their home organization (Identity Provider) and access resources across multiple partner organizations (Service Providers) without separate credentials. This enables Single Sign-On (SSO) across organizational boundaries while each organization maintains control of their user identities.
SAML 2.0 uses XML-based assertions and is designed for enterprise SSO between organizations. OpenID Connect (OIDC) is built on OAuth 2.0, uses JSON/JWT tokens, and is designed for modern web and mobile applications. SAML is more mature in enterprise settings; OIDC is simpler and better for consumer-facing applications.
Kerberos uses a trusted third party (Key Distribution Center) with two components: Authentication Server (AS) and Ticket Granting Server (TGS). Users authenticate once to get a Ticket Granting Ticket (TGT), then use the TGT to request service tickets for specific resources. All communication uses symmetric encryption with time-limited tickets.
OAuth 2.0 is an authorization framework that grants applications limited access to user resources without sharing credentials. OpenID Connect adds an authentication layer on top of OAuth 2.0, providing user identity information via ID tokens. OAuth 2.0 answers "what can you access?" while OIDC also answers "who are you?"
Common Kerberos issues include: time synchronization errors (clocks must be within 5 minutes), KDC unreachability (DNS/network issues), expired or corrupted ticket caches, Service Principal Name (SPN) misconfiguration, and encryption type mismatches. This tool includes a Kerberos troubleshooter that walks through these common problems.
Explore More Tools
Continue with these related tools
ℹ️ Disclaimer
This tool is provided for informational and educational purposes only. All processing happens entirely in your browser - no data is sent to or stored on our servers. While we strive for accuracy, we make no warranties about the completeness or reliability of results. Use at your own discretion.