Developing Applications Using SDKs
(SDK-541)
Ping Identity is starting to rebrand all products and courses under the Ping Identity brand. The content will remain the same and our curriculum developers will continue to prioritize courses that need development.
Description
This course is for students who want to learn how to use the 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 SDKs.
Note: Revision B of this course is based on version 7 of the Ping Identity Platform (Identity Platform), formerly known as ForgeRock® Identity Platform, and SDK 3.
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 SDKs, describe how they fit into the Identity Platform, and how they interact with PingAM, formerly known as ForgeRock® Access Management
- Present the centralized login flow, implement centralized login authentication, and observe device single sign-on (SSO)
- Present the Embedded Login flow and execute authentication, registration, and self-service journey
- Increase the security of your application and enhance the user experience with social authentication, passwordless biometric authentication, device profile and location collection and analysis, and multi-factor authentication (MFA) with one-time passwords (OTPs) and push authentication
Prerequisites
The following are the prerequisites for successfully completing this course:
- Basic knowledge and skills using the Linux and Windows operating systems to complete labs
- Basic knowledge of HTTP and communications between clients and servers is critical to understanding the interaction between the SDKs and AM
- Basic knowledge of JSON, JavaScript, REST, and Java
- Good knowledge of either JavaScript, Android, or iOS application development
- Attendance on the PingAM Deep Dive (AM-410) course or equivalent knowledge
Duration
3 days
Course Contents
Chapter 1: Introducing the SDKs
Introduce the SDKs, describe how they fit into the Identity Platform, and how they interact with AM.
Lesson 1: The SDKs and Common Use Cases
Introduce the SDKs and common use cases:
- Describe the SDKs
- Explore the role of the SDKs through common use cases
- Technical overview of the SDKs
- Using SDK components
- Interaction between the SDKs and AM
Lesson 2: Mobile Development Environment and Project Quickstart for Android and iOS
Learn how to set up a development environment:
- Preparing the server
- iOS Environment and Project Setup
- Android Environment and Project Setup
- JavaScript Environment and Project Setup
- Preface to the exercises
- Set up an iOS development environment
- Set up an Android development environment
- Set up a JavaScript development environment
Chapter 2: Authentication with Centralized Login
Present the centralized login flow, implement centralized login authentication, and observe device SSO.
Lesson 1: Authenticate With Centralized Login
Learn how to use the SDKs with centralized login:
- Understand the login flow choices
- Implement centralized login on mobile
- Implement centralized login in JavaScript
- Authenticate with centralized login on iOS
- Authenticate with centralized login on Android
- Authenticate with centralized login in JavaScript
Lesson 2: (Optional) Observe SSO Between Mobile Apps
Learn how to implement SSO between mobile apps with centralized login:
- SSO between mobile apps with centralized login
Chapter 3: Working with Embedded Login
Present the Embedded Login flow and execute authentication, registration, and self-service journeys
Lesson 1: Authenticate with Embedded Login
Learn how to use the SDKs with Embedded Login to authenticate:
- Understand the APIs for Embedded Login
- Authenticate with embedded login on iOS
- Authenticate with embedded login on Android
- Authenticate with embedded login in JavaScript
Lesson 2: Follow Authentication Journeys
Learn how to follow authentication journeys:
- Respond to Callbacks
- Respond to Stages
- Respond to stages on iOS
- Respond to stages on Android
- Respond to stages in JavaScript
- (Optional) Transactional authorization
Lesson 3: Registration and Self-Service Journeys
Learn how to follow registration and self-service journeys:
- Respond to registration or self-service journeys
- Implement self-service registration on iOS
- Implement self-service registration on Android
- Implement self-service registration in JavaScript
- Call other journeys / Intercept REST calls
- Implement self-service password change on iOS
- Implement self-service password change on Android
- Implement self-service password change in JavaScript
Lesson 4: Send and Process Verification Emails
Learn how to suspend journey processing and resume after the user followed the resume link sent in email:
- Suspend the journey and await the user following the resume link
- Suspend and resume authentication on iOS
- Suspend and resume authentication on Android
- Suspend and resume authentication in JavaScript
Chapter 4: Increasing Security and Enhancing User Experience
Increase the security of your application and enhance the user experience with social authentication, passwordless biometric authentication, device profile and location collection and analysis, and MFA with OTPs and push authentication.
Lesson 1: Authenticate with Social Login
Learn how to implement social authentication:
- Implement social login
- Login with Google on iOS
- Login with Google on Android
- Login with Google in JavaScript
Lesson 2: Authenticate with WebAuthn and Biometrics
Learn how to implement biometric authentication on mobile:
- Review WebAuthn concepts
- Implement biometric authentication on mobile
- Implement WebAuthn on iOS
- Implement WebAuthn on Android
- Implement web biometric authentication
- Implement WebAuthn in JavaScript
Lesson 3: Collect and Validate Device Profiles and Geolocation
Learn how to collect device profile data and geolocation for validation:
- Configure a user journey to verify and save device profile data
- Device profile processing in the SDKs
- Collect device profile data on iOS
- Implement device profile collection on iOS
- Collect device profile data on Android
- Implement device profile collection on Android
- Collect device profile data in JavaScript
- Implement device profile collection in JavaScript
- Analyze device context
- Implement location-based security
- Collect location information on iOS, Android or in JavaScript
- Implement device tampering detection
- Customize what data is collected
- Check for device tampering and customize device profile collection on iOS
- Check for device tampering and customize device profile collection on Android
- Customize device profile collection in JavaScript
Lesson 4: MFA with Push and OATH on Mobile
Learn how to provide MFA with Push Authentication and Soft Token:
- Integrate the ForgeRock Authenticator Module in a mobile app
- Examine using the Authenticator Module on iOS
- Examine using the Authenticator Module on Android