Software Development Kits (SDKs)

Expose core ForgeRock IAM functionality and enable best practices for rapid integration with Authentication Trees, data collection, token exchange, and security.

Learn More

What are ForgeRock Software Development Kits?

ForgeRock SDKs enable you to quickly integrate the ForgeRock Identity Platform into your web or mobile apps. There are a number of powerful features in the ForgeRock stack - one of those being our intelligent authentication. We built SDKs to make those authentication trees easy to consume, along with being able to determine the security and location of the device requesting authentication.

What are ForgeRock SDKs?
am-auth-flow.png

Intelligent Access

The ForgeRock SDKs leverage the Access Management (AM) intelligent Access. Use the SDKs to easily step through each stage of an authentication tree by using callbacks. SDKs empower your developers to build applications that can handle the changes to your authentication Journeys in real time. This would allow you to make changes to the user experience without the need to redeploy the application.

Learn More

Software Development Kits (SDKs)

 

 

fr-icon-SAFE-DRIVING.svg
Token Management

The SDKs use the OAuth 2.0 Auth Code flow with PKCE. ForgeRock has selected this method as the best practice for first-party applications. The SDK automatically handles token exchange for you, and also securely stores the tokens. Token refresh is automatically handled by the SDK so you don’t have to think about it.

strong-authentication.svg
Security

The ForgeRock SDKs are built from the ground up to use best practices for securing token material. We currently have three SDKs: iOS, Android, and Javascript. The iOS SDK secures key material in the keychain; the Android SDK uses the keystore. This encrypts and protects the tokens from unauthorized use. These best practices all come for free when using the ForgeRock SDKs.

single-sign-on.svg
Single Sign-On (SSO)

In some scenarios your company may have multiple native applications that customers have installed on their devices. You can use the SDK to seamlessly sign users in to multiple applications on a device. When the customer signs into one application, they are automatically signed into a second application on that device—without having to authenticate again.

sdk.svg
Pluggability & Extensibility

The SDK has a modular architecture and is designed with flexibility in mind. Don’t want to use our method for jailbroken detection? No problem! Just plug in your own method, or use a 3rd-party plug-in instead. The other advantage of the SDK's modular design is that you can minimize the footprint of your app by only including those modules that your app absolutely needs.

workforce.svg
Device Security Profile

Using the SDK you have the option to collect device profile information to use in your authentication flows. You might use this data to compare a user sign-in to a prior sign-in event. If the device profile has changed too much from the prior event, you can deny the sign-in.

adaptive-risk.svg
Jailbreak or Root Detection

The iOS and Android SDKs generate a score to determine if a device is jailbroken or rooted. There are a number of factors that go into creating this score. The score ranges from 0 to 1.0, where 0 indicates the device is an emulator.

busines-apps.svg
Device ID & Meta Data

ForgeRock SDKs will automatically generate a device ID for you. You can use the ID with Identity Manager or Access Management to allow your users to manage their devices. For example, you can insert the device ID and associated data into a user’s profile. This lets them view their devices and set the devices as trusted. You can also decide to use a recognized device in an authentication flow to avoid asking a user for another factor.

high-availability.svg
Location Information

You can collect Latitude and Longitude information from your users via the Android and iOS SDKs. Apps that use location services must request location permissions from users.

self-service.svg
User Interface

The SDKs have a sample User Interface that can be used for rapid prototyping, or as a reference implementation for building your own UI. Let’s say you want to get an authentication experience in front of some of your users or business stakeholders. You can easily build an authentication journey in the ForgeRock Platform and display the results immediately in your application.