WSO2 Identity Server Documentation

website·Indexed 29 days ago

https://wso2identityserver.netlify.app/

Comprehensive documentation for WSO2 Identity Server, featuring guides on multi-factor authentication (MFA), account recovery, and installation. Includes detailed API references for Application Management (v1), Identity Provider Management (v1), Keystore (v1), Workflow Approval (v1), and SCIM 2.0/1.1 for user and group management.

Tokens
31.1K
Snippets
118
Records
210
Agent score
71%

What's inside WSO2 Identity Server

  1. Overview of WSO2 Identity Server REST API Categories

    WSO2 Identity Server exposes its features via REST APIs, which are organized into four primary categories based on their intended use:

    • System APIs: Used for managing the WSO2 Identity Server system itself.
    • Management APIs: Consumed by applications using WSO2 Identity Server as the Identity Provider.
    • Organization APIs: Used by B2B SaaS applications for organization-level operations.
    • End User APIs: Used for operations performed by the currently authenticated user.
  2. Overview of Multi-Factor Authentication (MFA) in WSO2 Identity Server

    Multi-Factor Authentication (MFA) in WSO2 Identity Server enhances security by requiring two or more independent credentials from different categories: Knowledge (e.g., passwords, PINs), Possession (e.g., FIDO keys, ATM cards), and Inherence (e.g., fingerprints, iris patterns). While the default mechanism is username and password, WSO2 Identity Server allows the creation of an authentication chain containing multiple authenticators to secure the login flow.
  3. Overview of WSO2 Identity Server IAM capabilities

    WSO2 Identity Server is an Identity and Access Management (IAM) solution designed to simplify user authentication and authorization across an organization. Its core capabilities include:

    • Single Sign-On (SSO) & Federation: Unifies sign-ins to eliminate multiple credentials and supports open standards including OAuth, OpenID Connect, and SAML 2.0.
    • Access Control: Manages application access based on user or group permission levels.
    • Strong & Adaptive Authentication: Provides multi-factor authentication (MFA) via Email OTP, SMS OTP, and FIDO Passkeys. Adaptive authentication allows security levels to be defined based on device, location, and usage context.
    • User Lifecycle Management: Supports self-registration, profile management, and integration with heterogeneous user stores such as LDAP, Active Directory, and JDBC.
    • API Security: Acts as an authorization server supporting various OAuth standards, ensuring high availability and failover.
    • Privacy Compliance: Facilitates GDPR, CCPA, and LGDP compliance by enabling the recording, reviewing, and revoking of user consents.
  4. Overview of SCIM 1.1 APIs in WSO2 Identity Server

    WSO2 Identity Server provides SCIM 1.1 APIs for user and group management. However, WSO2 recommends using SCIM 2.0 APIs instead because they offer additional search filters, a more fine-grained schema, and more active feature development. SCIM 1.1 endpoints are exposed over HTTPS and protected by authentication.
  5. Understand WSO2 Identity Server 7.0.0 Console UI terminology changes

    The WSO2 Identity Server Console is now stable in version 7.0.0. Several concepts from the legacy carbon management console have been renamed to align with the new UI:

    • Service Providers are now called Applications.
    • Identity Providers and Inbound/outbound authentication are now called Connections.

    The Console now provides templates for creating specific application types: Single Page Applications (SPAs), server-side rendered web applications, mobile applications, and Machine-to-machine (M2M) applications.

  6. Understand SCIM2 Patch operation types and attribute categories

    WSO2 Identity Server supports SCIM Patch to update one or more attributes of a SCIM resource. To construct a request, you must identify the attribute type and the desired update operation.

    Attribute Types:

    • Singular attribute: Contains a single value (e.g., displayName).
    • Multi-valued attribute: Contains multiple values (e.g., emails).
    • Complex attribute: A singular or multi-valued attribute composed of one or more simple attributes (e.g., addresses containing streetAddress, locality, etc.).
    • Simple attribute: A singular or multi-valued attribute with a primitive value; it cannot contain sub-attributes.

    Update Operations:

    • add: Adds a new value for the attribute.
    • replace: Replaces the existing value of an attribute.
    • remove: Deletes the existing value of an attribute.
  7. Available SDKs and Sample Applications for WSO2 Identity Server

    WSO2 Identity Server (WSO2 IS) provides various SDKs and sample applications across different technologies to facilitate integration. These resources allow developers to view source code, download samples, and test SDK functionality.
  8. Retrieve and configure extended user profile information

    To retrieve user details in a React app, use the getBasicUserInfo() method from the useAuthContext() hook. By default, this returns basic fields like username and sub. To retrieve additional attributes (e.g., First Name, Last Name, Country, Mobile), two configuration steps are required in the Asgardeo Console:

    1. Application Settings: Navigate to the application's User Attributes tab and add the required personal information fields, then click Update.
    2. Scope Configuration: Navigate to Manage > Scopes, select the Profile Scope, and add the missing attributes to ensure they are included in the token/response.
  9. Secure a React application using SecureApp

    The SecureApp component from @asgardeo/auth-react wraps a React application to ensure only authenticated users can access its content. If a user is not signed in, it automatically initiates the Asgardeo sign-in flow.

    Key props include:

    • fallback: A component to render while the user is not logged in or during the sign-in process.
    • overrideSignIn: Used to define custom sign-in logic instead of the default Asgardeo flow.
    • onSignIn: A callback function executed upon successful authentication.
    import { SecureApp } from "@asgardeo/auth-react";
    import { Routes, Route } from "react-router-dom";
    
    function App() {
        return (
            <SecureApp fallback={<SignInLoader />}>
                <div className="App">
                    <Routes>
                        <Route path="/" element={<HomePage />}>
                            <Route index element={<TodoPage />} />
                            <Route path="settings" element={<SettingsPage />} />
                        </Route>
                    </Routes>
                </div>
            </SecureApp>
        );
    }