Launch Faster. Stay Secure. We're Ready When You Are.

Focus on your core app and get to market faster. Stormpath handles Identity infrastructure, maintenance, and security overhead, so your team doesn’t have to.

Easily scale with complete features that are here when you need them. Stormpath’s highly-available services and developer support can handle even the biggest launch.

Integrate With Your Application in Minutes

  • Java
  • .NET
  • Node.js
  • PHP
  • Python
  • Ruby
  • iOS
  • Android
  • JavaScript
  • REST
  • Java
    /*
    <!-- Add the dependency to your pom.xml -->
    
    <dependency>
        <groupId>com.stormpath.sdk</groupId>
        <artifactId>stormpath-sdk-api</artifactId>
        <version>${stormpath.version}</version>
    </dependency>
    <dependency>
        <groupId>com.stormpath.sdk</groupId>
        <artifactId>stormpath-sdk-httpclient</artifactId>
        <version>${stormpath.version}</version>
        <scope>runtime</scope>
    </dependency>
    
    */
    
    // Register a new user for your application
    Account account = client.instantiate(Account.class);
    
    account
        .setGivenName("Joe")
        .setSurname("Stormtrooper")
        .setUsername("tk421")
        .setEmail("[email protected]")
        .setPassword("Changeme1")
        .getCustomData().put("favoriteColor", "white");
    
    account = application.createAccount(account);
    
  • Servlet
    /*
    <!-- Add the dependency to your pom.xml -->
    <dependency>
        <groupId>com.stormpath.sdk</groupId>
        <artifactId>stormpath-servlet-plugin</artifactId>
        <version>${project.version}</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>${servlet.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>${jstl.version}</version>
    </dependency>
    */
    
    // Start your web server and visit /register in the browser
  • Spring Boot
    /*
    <!-- Add the dependency to your pom.xml --> 
    <dependency>
        <groupId>com.stormpath.spring</groupId>
        <artifactId>stormpath-thymeleaf-spring-boot-starter</artifactId>
        <version>${stormpath.version}</version>
    </dependency>
    */
    
    // Start your web server and visit /register in the browser
  • Spring Security
    /*
    <!-- Add the dependency to your pom.xml -->
    <dependency>
        <groupId>com.stormpath.spring</groupId>
        <artifactId>stormpath-default-spring-boot-starter</artifactId>
        <version>${stormpath.version}</version>
    </dependency>
    */
    
    // Add the configuration to your Spring Boot application
    @Configuration
    public class SpringSecurityWebAppConfig extends 
      WebSecurityConfigurerAdapter {
    
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http.apply(stormpath());
        }
    }
    
    // Start your web server and visit /register in the browser
  • Apache Shiro
    # Add to your shiro.ini
    stormpathClient = com.stormpath.shiro.client.ClientFactory
    
    stormpathRealm = com.stormpath.shiro.realm.ApplicationRealm
    stormpathRealm.client = $stormpathClient
    
    securityManager.realm = $stormpathRealm
  • C#
    // Install the Stormpath .NET SDK
    // PM> install-package Stormpath.SDK
    
    // Register a new user for your application
    var newAccount = client.Instantiate<IAccount>()
        .SetGivenName("Joe")
        .SetSurname("Stormtrooper")
        .SetUsername("tk421")
        .SetEmail("[email protected]")
        .SetPassword("Changeme123!");
    newAccount.CustomData.Put("favoriteColor", "white");
    
    await application.CreateAccountAsync(newAccount);
    
  • Visual Basic
    'Install the Stormpath .NET SDK
    'PM> install-package Stormpath.SDK
    
    'Register a new user for your application
    Dim newAccount = client.Instantiate(Of IAccount)() _
        .SetGivenName("Joe") _
        .SetSurname("Stormtrooper") _
        .SetUsername("tk421") _
        .SetEmail("[email protected]") _
        .SetPassword("Changeme123!")
    newAccount.CustomData.Put("favoriteColor", "white")
    
    Await application.CreateAccountAsync(newAccount)
  • ASP.NET Core
    // Install the Stormpath ASP.NET Core package
    // PM> install-package Stormpath.AspNetCore
    
    //Add Stormpath services in ConfigureServices
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddStormpath();
    }
    
    //Add the Stormpath middleware
    public void Configure(IApplicationBuilder app)
    {
        app.UseStormpath();
    }
    
    // Start your web server and visit /register in the browser
  • ASP.NET 4.5+
    // Install the Stormpath ASP.NET 4.5+ package
    // PM> install-package Stormpath.AspNet
    
    // Add the Stormpath middleware
    public void Configuration(IAppBuilder app)
    {
        app.UseStormpath();
    }
    
    // Start your web server and visit /register in the browser
  • Node.js
    // Install the Stormpath Node.js SDK
    npm install stormpath
    
    // Register a new user for your application
    var account = {
      givenName: 'Joe',
      surname: 'Stormtrooper',
      username: 'tk421',
      email: [email protected]',
      password: 'Changeme1',
      customData: {
        favoriteColor: 'white'
      }
    };
    
    application.createAccount(account, function(err, createdAccount) {
      console.log('Account:', createdAccount);
    });
  • Express.js
    // Install the Stormpath Express.js plugin
    npm install express-stormpath
    
    // Attach the Stormpath Middleware
    app.use(stormpath.init(app));
    
    // Start your web server and visit /register in the browser
  • PHP
    // Install the Stormpath PHP SDK
    composer require stormpath/sdk
    
    // Register a new user for your application
    $account = \Stormpath\Resource\Account::instantiate([
      'givenName' => 'Joe',
      'surname' => 'Stormtrooper',
      'username' => 'tk421',
      'email' => [email protected]',
      'password' => 'Changeme1'
    ]);
    
    $customData = $account->customData;
    $customData->favoriteColor = 'white';
    
    $account = $application->createAccount($account);
  • Python
    # Install the Stormpath Python SDK
    pip install stormpath
    
    # Register a new user for your application
    account = application.accounts.create({
      'given_name': 'Joe',
      'surname': 'Stormtrooper',
      'username': 'tk421',
      'email': [email protected]',
      'password': 'Changeme1',
      'custom_data': {
        'favorite_color': 'white'
      }
    })
  • Flask
    # Install the Stormpath Flask plugin
    pip install Flask-Stormpath
    
    # Initialize the Stormpath Middleware
    from flask_stormpath import StormpathManager
    
    app = Flask(__name__)
    stormpath_manager = StormpathManager(app)
    
    # Start your web server and visit /register in the browser
  • Ruby
    # Install the Stormpath Ruby SDK
    gem install stormpath-sdk --pre
    
    # Register a new user for your application
    account = application.accounts.create({
      given_name: 'Joe',
      surname: 'Stormtrooper',
      username: 'tk421', 
      email: [email protected]',
      customData: {
        favorite_color: 'white'
      },
      password: '4P@$$w0rd!'
    })
  • iOS
    // Install the Stormpath iOS SDK
    pod 'Stormpath'
    // Register a new user for your application
    let account = RegistrationModel(email: "[email protected]", password: "ExamplePassword")
    Stormpath.sharedSession.register(account)
  • Android
    // Add the Stormpath Android SDK to build.gradle
    compile 'com.stormpath.sdk:stormpath-sdk-android:+'
    
    // Register a new user for your application
    RegisterParams registerParams = new RegisterParams("firstName", "lastName", "[email protected]", "Pa55w0rd");
    
    Stormpath.register(registerParams, new StormpathCallback() {
        @Override
        public void onSuccess(Void aVoid) {
        }
    
        @Override
        public void onFailure(StormpathError error) {
        }
    });
  • Angular.js
    // Install the Stormpath Angular.js SDK
    bower install --save stormpath-sdk-angularjs
    
    // Configure the UI Router
    app.run(function($stormpath) {
      $stormpath.uiRouter({
        loginState: 'login',
        defaultPostLoginState: 'home'
      });
    });
    
    // Add states and views for registration and login
    <div sp-login-form></div>
    
    <div sp-registration-form></div>
    
    // Serve your app and try it out in the browser
  • React
    // Install the Stormpath React SDK
    bower install --save react-stormpath
    
    // Initialize the SDK
    ReactStormpath.init();
    
    // Add login and registration components
    <LoginForm />
    <RegistrationForm />
    
    // Serve your app and try it out in the browser
  • REST
    # Register a new user for your application
    curl -X POST --user $API_KEY_ID:$API_KEY_SECRET \
      -H "Accept: application/json" \
      -H "Content-Type: application/json" \
      -d '{
        "givenName": "Joe",
        "surname": "Stormtrooper",
        "username": "tk421",
        "email": "[email protected]",
        "password":"Changeme1",
        "customData": {
          "favoriteColor": "white"
        }
      }' \
    "https://api.stormpath.com/v1/applications/$APP_ID/accounts"
    
    # Authenticate a user
    curl -X POST --user $API_KEY_ID:$API_KEY_SECRET \
      -H "Accept: application/json" \
      -H "Content-Type: application/json" \
      -d '{
        "type": "basic",
        "value": "dGs0MjE6Q2hhbmdlbWUx"
      }' \
    "https://api.stormpath.com/v1/applications/$APP_ID/loginAttempts"
    

Why Developers Love Us

Authentication

Fully-featured, hyper-secure user authentication using passwords or tokens.

Authorization

From multi-tenant to complex permissions, Stormpath is the leader in user authorization modeling.

Profiles

Host and store user data securely in our data vault – totally flexible, up to 10MB per account. Headache-free.

Token Authentication

Generate, manage, check, and revoke OAuth tokens and API Keys, without custom code.

Single Sign On

Provide a better user experience with SAML-based Single Sign On, with popular third party providers.

Multi-Factor

Force a second factor of user authentication with our popular integrations.

Social Login

Streamlined OAuth2.0 connections, rich user profiles and authorization.

AD/LDAP

Sync existing AD/LDAP accounts to Stormpath and easily connect new services to your users.

Complete Docs & SDKs

Our mission is to make developers’ lives easier with great docs, integrations, samples & SDKs.

And then there's our 99.999% uptime.

See How We Work