Need advice about which tool to choose?Ask the StackShare community!
Keycloak vs RSA SecurID: What are the differences?
Introduction: In this document, we will discuss the key differences between Keycloak and RSA SecurID. Both Keycloak and RSA SecurID are widely used for authentication and access management in IT systems.
Integration Level: Keycloak provides seamless integration with commonly used web and mobile platforms. It offers out-of-the-box connectors and adapters, allowing developers to quickly implement authentication and authorization mechanisms in their applications. On the other hand, RSA SecurID requires additional integration efforts, as it usually operates as a separate server in the authentication flow, often requiring custom development and configuration.
Authentication Methods: Keycloak supports a wide range of authentication methods, including username/password, social logins, and multi-factor authentication (MFA) options such as one-time passwords (OTP), biometric authentication, and hardware tokens. RSA SecurID, however, primarily relies on its proprietary two-factor authentication (2FA) mechanism, which involves the use of hardware tokens generating time-based one-time passwords.
Open-source vs Proprietary: Keycloak is an open-source identity management and access control solution, providing the advantage of an active community, frequent updates, and the ability to customize or extend the software as per specific requirements. In contrast, RSA SecurID is a proprietary authentication solution developed by RSA Security, which limits the flexibility and customization options available to users.
Pricing and Licensing: Keycloak is released under the Apache License 2.0, which enables free usage, modification, and distribution of the software without any licensing fees. RSA SecurID, however, is a commercial product with licensing fees, which can vary depending on the number of users and required features.
Scalability and Performance: Keycloak is designed to be highly scalable, allowing it to handle a large number of users and requests in a distributed environment. Its architecture supports horizontal scaling, enabling the deployment of multiple instances to distribute the load. RSA SecurID also offers scalability but may require additional hardware resources or infrastructure setup for high-demand scenarios.
Ecosystem and Integration Support: Keycloak has a vibrant ecosystem with a wide range of plugins, extensions, and documentation available. It integrates well with popular open-source frameworks like Spring, Java EE, and Angular, making it easier for developers to incorporate authentication and authorization features into their applications. RSA SecurID, on the other hand, is primarily focused on providing authentication services and may have limited integration options with modern frameworks or technologies.
In summary, Keycloak offers seamless integration, supports a variety of authentication methods, is open-source, has flexible licensing options, provides high scalability and performance, and has a rich ecosystem of plugins and extensions. RSA SecurID, on the other hand, may require additional integration efforts, primarily relies on its proprietary 2FA mechanism, is a proprietary product with licensing fees, may have limited integration options, and requires additional setup for high-demand scenarios.
I am working on building a platform in my company that will provide a single sign on to all of the internal products to the customer. To do that we need to build an Authorisation server to comply with the OIDC protocol. Earlier we had built the Auth server using the Spring Security OAuth project but since in Spring Security 5.x it is no longer supported we are planning to get over with it as well. Below are the 2 options that I was considering to replace the Spring Auth Server. 1. Keycloak 2. Okta 3. Auth0 Please advise which one to use.
It isn't clear if beside the AuthZ requirement you had others, but given the scenario you described my suggestion would for you to go with Keycloak. First of all because you have already an onpremise IdP and with Keycloak you could maintain that setup (if privacy is a concern). Another important point is configuration and customization: I would assume with Spring OAuth you might have had some custom logic around authentication, this can be easily reconfigured in Keycloak by leveraging SPI (https://www.keycloak.org/docs/latest/server_development/index.html#_auth_spi). Finally AuthZ as a functionality is well developed, based on standard protocols and extensible on Keycloak (https://www.keycloak.org/docs/latest/authorization_services/)
We have good experience using Keycloak for SSO with OIDC with our Spring Boot based applications. It's free, easy to install and configure, extensible - so I recommend it.
You can also use Keycloak as an Identity Broker, which enables you to handle authentication on many different identity providers of your customers. With this setup, you are able to perform authorization tasks centralized.
Pros of Keycloak
- It's a open source solution33
- Supports multiple identity provider24
- OpenID and SAML support17
- Easy customisation12
- JSON web token10
- Maintained by devs at Redhat6
Pros of RSA SecurID
Sign up to add or upvote prosMake informed product decisions
Cons of Keycloak
- Okta7
- Poor client side documentation6
- Lack of Code examples for client side5