Developing Applications Using ForgeRock® SDKs

FR-541 Revision A

Description

This course is for students who want to learn how to use the ForgeRock® SDKs to speed up the integration of JavaScript, Android, and iOS applications, within an access management solution. The course presents key use cases and features of the ForgeRock SDKs.

 

Target Audiences

The target audiences for this course include:

  • System Integrators
  • System Consultants
  • System Architects
  • Developers of JavaScript applications
  • Developers of native Android applications
  • Developers of native iOS applications

 

Objectives

Upon completion of this course, you should be able to:

  • Introduce the ForgeRock SDKs, describe how they fit into the ForgeRock® Identity Platform (Identity Platform), and how they interact with ForgeRock® Access Management (AM)
  • Integrate the ForgeRock SDKs into JavaScript, Android, and iOS applications using embedded login or centralized web login
  • Increase security with a zero trust approach when integrating applications with the ForgeRock SDKs, using device profile context, transactional authorization, and WebAuthn
  • Extend the ForgeRock SDKs' intelligent access by integrating your own UI with the SDK, customizing device profiles and requests to AM, and describing the ForgeRock authenticator module, user self-service, and single sign-on capabilities

 

Prerequisites

The following are prerequisites to successfully completing this course:

  • Basic knowledge and skills using the Linux operating system to complete labs
  • Basic knowledge of JSON, JavaScript, REST, Java, Groovy, SQL, and LDAP helpful for understanding examples; however, programming experience is not required

Duration: 3 days

 

Course Contents

Chapter 1: Introducing the ForgeRock SDKs

Introduce the ForgeRock SDKs, describe how they fit into the ForgeRock® Identity Platform (Identity Platform), and how they interact with ForgeRock® Access Management (AM).

Lesson 1: Exploring the ForgeRock SDKs

Introduce the ForgeRock SDKs, and understand their role in the Identity Platform:

  • Understand the role of the ForgeRock SDKs in the Identity Platform
  • Describe the ForgeRock SDKs
  • Review the lab environment
Lesson 2: Examining the Interaction Between the ForgeRock SDKs and AM

Examine the interaction between the ForgeRock SDKs and AM, review AM core concepts, and describe how the ForgeRock SDKs handle AM callbacks:

  • Review the interaction between the ForgeRock SDKs and AM
  • Review AM core concepts
  • Describe the ForgeRock SDKs’ approach to handling AM callbacks
  • Review an AM sample tree and modify AM debug levels

Chapter 2: Integrating Applications with the ForgeRock SDKs

Integrate the ForgeRock SDKs into JavaScript, Android, and iOS applications using embedded login or centralized web login.

Lesson 1: Integrating a JavaScript Application

Set up a JavaScript SDK environment and integrate login and logout features in a JavaScript application using FRUI:

  • Examine the JavaScript SDK environment
  • Integrate the JavaScript application securely
  • Examine login and logout with FRUI (JS)
  • Review the JavaScript application
  • Set up a working environment for the JavaScript SDK
  • Implement login and logout with FRUI (JS)
  • Validate tokens in the JavaScript application
  • Test multi-step authentication with FRUI (JS)
Lesson 2: Integrating a Mobile Application

Set up an Android and an iOS SDK environment and integrate login and logout features in an Android and an iOS application using FRUI:

  • Examine the Android SDK environment
  • Examine login and logout with FRUI (Android)
  • Examine the iOS SDK environment
  • Examine login and logout with FRUI (iOS)
  • Review the Android application
  • Set up a working environment for the Android SDK
  • Implement login and logout with FRUI (Android)
  • Test multi-step authentication with FRUI (Android)
  • Review the iOS application
  • Set up a working environment for the iOS SDK
  • Implement login and logout with FRUI (iOS)
  • Test multi-step authentication with FRUI (iOS)
Lesson 3: Requesting OAuth2-Based Tokens and Retrieving User Info

Obtain access tokens, refresh tokens, and ID tokens from AM, and use them to retrieve a user profile:

  • Review AM core concepts on OAuth2
  • Examine OAuth2 concepts specific to working with the ForgeRock SDKs
  • Demonstrate the authorization code grant with PKCE flow
  • Configure AM for SDK integration using OAuth2
  • Examine how to obtain OAuth2-based tokens and user information
  • Examine how to obtain OAuth2-based tokens and user information (JS)
  • Examine how to obtain OAuth2-based tokens and user information (Android)
  • Examine how to obtain OAuth2-based tokens and user information (iOS)
  • Retrieve OAuth2-based tokens and user information (JS)
  • Retrieve OAuth2-based tokens and user information (Android)
  • Retrieve OAuth2-based tokens and user information (iOS)
Lesson 4: Implementing Centralized Web Login

Implement centralized web login for JavaScript, Android, and iOS applications:

  • Examine centralized web login
  • Examine centralized web login (JS)
  • Examine centralized web login (Android)
  • Examine centralized web login (iOS)
  • Implement centralized web login (JS)
  • Implement centralized web login (Android)
  • Implement centralized web login (iOS)

Chapter 3: Increasing Security with a Zero Trust Approach with the ForgeRock SDKs

Increase security with a zero trust approach when integrating applications with the ForgeRock SDKs, using device profile context, transactional authorization, and WebAuthn.

Lesson 1: Increasing Application Security with the ForgeRock SDKs

Present a view of the features available to implement a zero trust approach:

  • Introduce ForgeRock's zero trust approach
  • Introduce security features leveraged by the ForgeRock SDKs
Lesson 2: Collecting and Displaying Device Profile Data with the ForgeRock SDKs

Provide information about device data collection:

  • Examine default device profile collection
  • Examine default device profile collection (JS)
  • Examine default device profile collection (Android)
  • Examine default device profile collection (iOS)
  • Implement default device profile collection (JS)
  • Implement default device profile collection (Android)
  • Implement default device profile collection (iOS)
Lesson 3: Requesting and Saving Device Data with AM

Examine how AM can request device profile data from an application, and save the information:

  • Examine how AM requests and saves a device profile
  • Examine the Device Profile Collector node
  • Examine the Device Profile Save node
  • Create a device tree in AM
  • Test the device profile flow (JS)
  • Test the device profile flow (Android)
  • Test the device profile flow (iOS)
Lesson 4: Analyzing Device Profile Data with AM

Examine AM device nodes, used to adapt users' login journey based on device context analysis:

  • Discuss device context analysis in AM
  • Examine the Device Geofencing node
  • Test the Device GeoFencing flow
  • Examine the Device Tampering Verification node
  • Test the Device Tampering Verification flow
  • Examine the Device Location Match node
  • Test the Device Location Match flow
  • Examine the Device Match node
  • Test the Device Match flow
  • Examine the ForgeRock Device Match script project
  • Implement a tree using a custom match script (optional)
  • Review an example of device checks strategy
Lesson 5: Presenting Transactional Authorization with the ForgeRock SDKs

Explain how transactional authorization provides a way to assess risk continuously:

  • Review transactional authorization concepts
Lesson 6: Presenting WebAuthn with the JavaScript SDK

Describe how WebAuthN provides a secure way to make end users' login journeys seamless:

  • Review WebAuthn concepts
  • Examine the WebAuthn nodes

Chapter 4: Extending Intelligent Access with the ForgeRock SDKs

Extend the ForgeRock SDKs' intelligent access by integrating your own UI with the SDK, customizing device profiles and requests to AM, and describing the ForgeRock authenticator module, user self-service, and single sign-on capabilities.

Lesson 1: Orchestrating the Authentication Flow When Using Your Own UI

Discuss how to orchestrate the authentication flow when using the ForgeRock SDKs with your own UI:

  • Handle the authentication flow when using your own UI
  • Handle the authentication flow when using your own UI (JS)
  • Handle the authentication flow when using your own UI (Android)
  • Handle the authentication flow when using your own UI (iOS)
  • Implement login and logout when using your own UI (JS)
  • Implement login and logout when using your own UI (Android)
  • Implement login and logout when using your own UI (iOS)
Lesson 2: Customizing Device Profiles

Customize the device information retrieved by the ForgeRock SDKs:

  • Examine custom device profile collection
  • Implement custom device profile collection (JS)
  • Implement custom device profile collection (Android)
  • Implement custom device profile collection (iOS)
Lesson 3: Intercepting and Modifying REST Calls to AM

Explain how to intercept and modify REST requests sent to AM:

  • Intercept and modify REST calls to AM
  • Modify the authentication REST call to AM (JS)
  • Intercept and modify the authentication REST call to AM (Android)
  • Intercept and modify the authentication REST call to AM (iOS)
Lesson 4: Presenting Advanced ForgeRock SDKs' Features

Present the ForgeRock authenticator module, user self-service, and single sign-on capabilities of the ForgeRock SDKs:

  • Present the ForgeRock Authenticator module in a mobile application
  • Present user self-service with Identity Cloud
  • Present single sign-on
Train Your Team with ForgeRock Private Training

Request a Private Event

No Courses Currently Available