SlideShare a Scribd company logo
1 of 41
Copyright © 2015 ForgeRock, all rights reserved. 1
Extend The Power of
The ForgeRock Identity Platform
Through Scripting
Javed Shah, Senior Sales Engineer
Anders Askåsen, Senior Technical Product Manager
October 27th, 2015
Copyright © 2015 ForgeRock, all rights reserved. 2
Fastest-growing Open Source Identity
Security Software company in the world
Our Investors: Our Origins:
ForgeRock
• Founded 2010 with high double digit growth every year
since inception
• Over 300 full time employees
• Over 400 customers
• Active in over 30 countries
• Locations: San Francisco, Vancouver (US), Bristol
(UK), London (UK), Grenoble (F), Oslo, Singapore,
Düsseldorf (D)
Award winning platform driving
innovation worldwide
• Gold winner of the CEO World awards 2014
• Silver Winner in the 6th Annual Golden
Bridge Award 2014
• Silver winner for the Fastest-Growing Company of the
Year in 2014
• Best in Biz Awards 2014
Copyright © 2015 ForgeRock, all rights reserved. 3
Extensible Software
“As companies get serious about digital transformation,
we see investments shifting toward extensible software platforms
used to build and manage
a differentiated customer experience.”
Source (March 2015):
http://blogs.forrester.com/michael_yamnitsky/15-03-31-modern_software_platforms_are_in_hypergrowth
Copyright © 2015 ForgeRock, all rights reserved. 4
The Platform
Copyright © 2015 ForgeRock, all rights reserved. 5
The ForgeRock Identity Platform
(Identity Management) (Access Management)
(Directory Services) (Identity Gateway)
Copyright © 2015 ForgeRock, all rights reserved. 6
Unified Platform
Web Services
Security
Session
Management
Synchronization Auditing
LDAPv3 REST/JSON
Replication Access Control
Schema
Management
Caching
Auditing
Monitoring
Groups
Password Policy
Active
Directory Synch
Reporting
Authentication Authorization Provisioning
Password
Management
Authentication OpenID Connect
Federation Entitlements Workflow Engine Reconciliation Password Replay OAuth2
Adaptive Risk
Single
Sign-on
Registration Role Provisioning
Message
Transformation
SAML2
Throttling Scripting
CommonRESTAPI
CommonUserInterface
Single Integrated, Open Platform
Copyright © 2015 ForgeRock, all rights reserved. 7
Deployment & Config
Copyright © 2015 ForgeRock, all rights reserved. 8
Deployment & Config
#!/bin/sh
URL="http://openam.example.com:8080”
AM="${URL}/openam”
AUTHN="${AM}/identity/authenticate”
TOK=`curl -s -k --request POST --data "username=amadmin&password=cangetinam" $AUTHN | cut -f2 -d=`
echo "=> OpenAM Token: ${TOK}" ; echo ""
# --data @body.json
Copyright © 2015 ForgeRock, all rights reserved. 9
Deployment & Config
curl --request POST --header "iplanetDirectoryPro: ${TOK}” --header "Content-Type: application/json” --data 
'{"client_id":["mobile"],
"realm":["/"],
"userpassword":["password"],
"com.forgerock.openam.oauth2provider.clientType":["Confidential"],
"com.forgerock.openam.oauth2provider.redirectionURIs":
["'"${URL}/oauth2/oauth2.htm"'","'"${URL}/oIDc/openidc.htm"'"],
"com.forgerock.openam.oauth2provider.scopes":["cn|Name","mail|Email","openid","profile"],
"com.forgerock.openam.oauth2provider.defaultScopes":["cn"],
"com.forgerock.openam.oauth2provider.responseTypes":["code","token","id_token","code token","token id_token","code id_token","code token
id_token"],
"com.forgerock.openam.oauth2provider.idTokenSignedResponseAlg":["HS256"],
"com.forgerock.openam.oauth2provider.name":["Test Client"],
"com.forgerock.openam.oauth2provider.description":["OIDC 1.0 Client"]
}' 
${AM}/frrest/oauth2/client/?_action=create
Copyright © 2015 ForgeRock, all rights reserved. 10
Scripting in OpenIDM
Copyright © 2015 ForgeRock, all rights reserved. 11
Scripted Connectors
•Scripted Groovy Connector Implementations
–Scripted SQL
–Scripted REST
–Scripted CREST
–Scripted Azure
•Samples provided!
•Microsoft Integration – The Scripted PowerShell Connector
•Samples provided illustrating Active Directory
Copyright © 2015 ForgeRock, all rights reserved. 12
OpenIDM Services
openidm.create("managed/user", bjensen, map);
openidm.patch("managed/user/" + user._id, null,
[{"operation" : "replace", "field" : "/password", "value":
"Passw0rd"}]);
openidm.read("managed/user/"+userId);
openidm.update('managed/user/' + source._id, null,
user_read);
openidm.delete('managed/user/'+ user._id, user._rev);
openidm.query("managed/user", { "_queryFilter": "/userName
sw "user.1""}, ["userName", "_id"]);
openidm.action('sync', 'performAction', content, params);
Copyright © 2015 ForgeRock, all rights reserved. 13
OpenIDM Services
openidm.encrypt(value, cipher, alias);
openidm.decrypt(value);
openidm.isEncrypted(object);
openidm.hash(value, algorithm);
logger.info(string message, object... params);
logger.debug(string message, object... params);
logger.error(string message, object... params);
logger.trace(string message, object... params);
logger.warn(string message, object... params);
Copyright © 2015 ForgeRock, all rights reserved. 14
Where can scripts be triggered?
•Scripts in Mappings (conf/sync.json)
•Triggered by situationon (onCreate, onUpdate, onDelete, onLink, onUnlink)
•Object filter (validSource, validTarget)
•Correlating objects (correlationQuery, correlationScript)
•Any reconciliation
•Scripts inside properties
•Scripts called in the managed object configuration
(conf/managed.json) file
•onCreate, onRead, onUpdate, onDelete, onValidate, onRetrieve, onStore,
onSync, postCreate, postUpdate, and postDelete
Copyright © 2015 ForgeRock, all rights reserved. 15
Where can scripts be triggered?
• Scripts called in the router configuration (conf/router.json)
fileonRequest, onResponse, onFailure
• Scripted Connectors
Scripted SQL
Scripted Groovy
Scripted REST/CREST
Scripted SAP
Scripted SSH
Scripted PowerShell
Copyright © 2015 ForgeRock, all rights reserved. 16
Scripting in OpenAM
http://openam.forgerock.org/doc/bootstrap/dev-guide/index.html#chap-scripting
Draft documentation
Copyright © 2015 ForgeRock, all rights reserved. 17
Overview
• Script Design and Workflow in OpenAM
• Device Registration and Authentication
–A more standard way of using the Scripting Framework
–Demo
• The Scripting API
–Useful in geo fencing using reverse geocode lookup
–Useful for policy or role-based authentication
–Demo
Copyright © 2015 ForgeRock, all rights reserved. 18
Scripting Design –
The Client Side Script
•Authentication modules can use Client Side scripts and Server Side
scripts (JavaScript or Groovy)
•The use of a Client Side script is optional
•Used as a data collection mechanism
– Geo location / Fonts / Screen resolution / Timezone
– Browser Plugins
•Returns collected data in: clientScriptOutputData
–A string you could .split() to pull all client-side data
Copyright © 2015 ForgeRock, all rights reserved. 19
The Client Side Script
Copyright © 2015 ForgeRock, all rights reserved. 20
Scripting Design –
The Server Side Script
•Handles Authentication
•Has access to:
–clientScriptOutputData (sent by the client script)
–Scripting API
•Must set the authentication state to
–SUCCESS or
–FAILED
Copyright © 2015 ForgeRock, all rights reserved. 21
The Server Side Script
Copyright © 2015 ForgeRock, all rights reserved. 22
Device Registration and Authentication in
OpenAM
Copyright © 2015 ForgeRock, all rights reserved. 23
Device Authentication
Copyright © 2015 ForgeRock, all rights reserved. 24
Device Authentication
Copyright © 2015 ForgeRock, all rights reserved. 25
Device Authentication
Copyright © 2015 ForgeRock, all rights reserved. 26
Device Id (Match)
•Predefined scripts in OpenAM:
–Client side script
–Server side script
•Scripts are referenced inside Module instances
•Depends on other modules:
–For user identification (Data Store)
–Second factor on failure (HOTP)
–Device Id Save!
Copyright © 2015 ForgeRock, all rights reserved. 27
Device Id (Match)
•Checks different criteria using Client Side Script
–User agents
–Installed fonts
–Installed plugins
–resolution/color depth associated with a display
–time zone, geo location
•Adds penalty points if one criteria is missed
•Checks sum of penalty points against a threshold
Copyright © 2015 ForgeRock, all rights reserved. 28
Device Id (Save)
•Prompts the user before saving the device profile
–Can be configured to auto save
•Will save the device profiles in the user’s profile
– Number of profiles stored can be changed from a default 5
•Authentication chain is usually configured to not reach this module,
if the device was recognized by the Device Id (Match) module
–Device Id Match configured as Sufficient ensures processing stops if a
profile match was found
Copyright © 2015 ForgeRock, all rights reserved. 29
Demo – Device Fingerprinting
Copyright © 2015 ForgeRock, all rights reserved. 30
Scripted Authentication in OpenAM
Copyright © 2015 ForgeRock, all rights reserved. 31
Scripted Authentication
Copyright © 2015 ForgeRock, all rights reserved. 32
HTTP Commons Framework
(coming in OpenAM 13)
•org.forgerock.http.protocol.*
–Request / Cookie / Entity / Header / Headers / Response
•org.forgerock.util.promise.*
–Promises
–A Promise represents the result of an asynchronous task.
•groovy.json.JsonSlurper
–JSON parser used in the scripts
•API Documentation
–http://commons.forgerock.org/bom/apidocs/index.html
Copyright © 2015 ForgeRock, all rights reserved. 33
Scripting API
•Make REST API calls from the Server Side Script!
–Use the new HTTP Commons Framework to make a new Request
–httpClient.send(Request), returns a Promise
–Promise.get(), returns a Response
–Parse the Response using JsonSlurper!
•Accessing Authentication State
–OpenAM passes to Server Side script:
•authState, sharedState (contains password also)
•username
Copyright © 2015 ForgeRock, all rights reserved. 34
Scripting API
•Logging
–logger
• error() / message() / warning()
•Accessing Profile Data
–idRepository
• getAttribute / setAttribute / addAttribute
•Access the original login request using requestData object
–getHeader(name) / getHeaders(name)
–getParameter(name) / getParameters(name)
Copyright © 2015 ForgeRock, all rights reserved. 35
Policy Configuration for Demo
Copyright © 2015 ForgeRock, all rights reserved. 36
Scripting Demo
Acquire ssoToken using REST
Evaluate policy for the resource “authn/self” and “authn/view”
Copyright © 2015 ForgeRock, all rights reserved. 37
Scripting Demo
Policy decision
Check Policy decision and permit if requested actions ALLOWED
Logout the service account or the user
Copyright © 2015 ForgeRock, all rights reserved. 38
Demo – Scripted Authentication
Copyright © 2015 ForgeRock, all rights reserved. 39
Other Possibilities
•Policy condition scripting
–attach a script as a policy condition!
•OIDC Claims data
–Scripts that gather and populate the claims in a request when issuing
an ID token or making a request to the userinfo endpoint.
Copyright © 2015 ForgeRock, all rights reserved. 40
IDENTITY SUMMIT SERIES 2015: EUROPE
5 November
Amsterdam
10 November
Düsseldorf
Visit summits.forgerock.com
Copyright © 2015 ForgeRock, all rights reserved. 41
Thank You!
Questions?

More Related Content

What's hot

What's hot (20)

SSO introduction
SSO introductionSSO introduction
SSO introduction
 
OpenAM - An Introduction
OpenAM - An IntroductionOpenAM - An Introduction
OpenAM - An Introduction
 
Building secure applications with keycloak
Building secure applications with keycloak Building secure applications with keycloak
Building secure applications with keycloak
 
OneIdentity - A Future-Ready Approach to IAM
OneIdentity - A Future-Ready Approach to IAMOneIdentity - A Future-Ready Approach to IAM
OneIdentity - A Future-Ready Approach to IAM
 
Single Sign On 101
Single Sign On 101Single Sign On 101
Single Sign On 101
 
Red Hat Enterprise Linux 8 Workshop
Red Hat Enterprise Linux 8 WorkshopRed Hat Enterprise Linux 8 Workshop
Red Hat Enterprise Linux 8 Workshop
 
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
 
2019 DevSecOps Reference Architectures
2019 DevSecOps Reference Architectures2019 DevSecOps Reference Architectures
2019 DevSecOps Reference Architectures
 
Implementing Microservices with NATS
Implementing Microservices with NATSImplementing Microservices with NATS
Implementing Microservices with NATS
 
Identity Management with the ForgeRock Identity Platform - So What’s New?
Identity Management with the ForgeRock Identity Platform - So What’s New?Identity Management with the ForgeRock Identity Platform - So What’s New?
Identity Management with the ForgeRock Identity Platform - So What’s New?
 
CI/CD Best Practices for Your DevOps Journey
CI/CD Best  Practices for Your DevOps JourneyCI/CD Best  Practices for Your DevOps Journey
CI/CD Best Practices for Your DevOps Journey
 
Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - Plansoft
 
IBM DataPower Gateway - Common Use Cases
IBM DataPower Gateway - Common Use CasesIBM DataPower Gateway - Common Use Cases
IBM DataPower Gateway - Common Use Cases
 
Event Driven Architecture (EDA) Reference Architecture
Event Driven Architecture (EDA) Reference ArchitectureEvent Driven Architecture (EDA) Reference Architecture
Event Driven Architecture (EDA) Reference Architecture
 
DevSecOps 101
DevSecOps 101DevSecOps 101
DevSecOps 101
 
VSICM8_M02.pptx
VSICM8_M02.pptxVSICM8_M02.pptx
VSICM8_M02.pptx
 
Building a Customer Identity and Access Management (CIAM) Solution
Building a Customer Identity and Access Management (CIAM) SolutionBuilding a Customer Identity and Access Management (CIAM) Solution
Building a Customer Identity and Access Management (CIAM) Solution
 
CI, CD, CT, Deploy, IaaS, DevOps, Stage
CI, CD, CT, Deploy, IaaS, DevOps, StageCI, CD, CT, Deploy, IaaS, DevOps, Stage
CI, CD, CT, Deploy, IaaS, DevOps, Stage
 
Codership's galera cluster installation and quickstart webinar march 2016
Codership's galera cluster installation and quickstart webinar march 2016Codership's galera cluster installation and quickstart webinar march 2016
Codership's galera cluster installation and quickstart webinar march 2016
 
DevSecOps | DevOps Sec
DevSecOps | DevOps SecDevSecOps | DevOps Sec
DevSecOps | DevOps Sec
 

Similar to Webinar: Extend The Power of The ForgeRock Identity Platform Through Scripting

Securing the Internet of Things - Hank Chavers
Securing the Internet of Things - Hank ChaversSecuring the Internet of Things - Hank Chavers
Securing the Internet of Things - Hank Chavers
WithTheBest
 

Similar to Webinar: Extend The Power of The ForgeRock Identity Platform Through Scripting (20)

Pentesting Android Applications
Pentesting Android ApplicationsPentesting Android Applications
Pentesting Android Applications
 
Cncf microservices security
Cncf microservices securityCncf microservices security
Cncf microservices security
 
Programmable infrastructure with FlyScript
Programmable infrastructure with FlyScriptProgrammable infrastructure with FlyScript
Programmable infrastructure with FlyScript
 
Webinar: ForgeRock Identity Platform Preview (Dec 2015)
Webinar: ForgeRock Identity Platform Preview (Dec 2015)Webinar: ForgeRock Identity Platform Preview (Dec 2015)
Webinar: ForgeRock Identity Platform Preview (Dec 2015)
 
Webinar: Identity Wars: The Unified Platform Awakens
Webinar: Identity Wars: The Unified Platform AwakensWebinar: Identity Wars: The Unified Platform Awakens
Webinar: Identity Wars: The Unified Platform Awakens
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIs
 
Webinar: "Entitlements: Taking Control of the Big Data Gold Rush"
Webinar: "Entitlements: Taking Control of the Big Data Gold Rush"Webinar: "Entitlements: Taking Control of the Big Data Gold Rush"
Webinar: "Entitlements: Taking Control of the Big Data Gold Rush"
 
Android Penetration Testing - Day 3
Android Penetration Testing - Day 3Android Penetration Testing - Day 3
Android Penetration Testing - Day 3
 
OWASP SF - Reviewing Modern JavaScript Applications
OWASP SF - Reviewing Modern JavaScript ApplicationsOWASP SF - Reviewing Modern JavaScript Applications
OWASP SF - Reviewing Modern JavaScript Applications
 
Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?
 
Securing the Internet of Things - Hank Chavers
Securing the Internet of Things - Hank ChaversSecuring the Internet of Things - Hank Chavers
Securing the Internet of Things - Hank Chavers
 
Sydney Identity Summit: Addressing the New Threat Landscape with Continuous S...
Sydney Identity Summit: Addressing the New Threat Landscape with Continuous S...Sydney Identity Summit: Addressing the New Threat Landscape with Continuous S...
Sydney Identity Summit: Addressing the New Threat Landscape with Continuous S...
 
PyConWeb - 2019 Auditing websites & apps for privacy leaks.
PyConWeb - 2019 Auditing websites & apps for privacy leaks.PyConWeb - 2019 Auditing websites & apps for privacy leaks.
PyConWeb - 2019 Auditing websites & apps for privacy leaks.
 
What API Specifications and Tools Help Engineers to Construct a High-Security...
What API Specifications and Tools Help Engineers to Construct a High-Security...What API Specifications and Tools Help Engineers to Construct a High-Security...
What API Specifications and Tools Help Engineers to Construct a High-Security...
 
What’s New in WSO2 IoT Server 3.1.0
What’s New in WSO2 IoT Server 3.1.0What’s New in WSO2 IoT Server 3.1.0
What’s New in WSO2 IoT Server 3.1.0
 
FIWARE Primer - Learn FIWARE in 60 Minutes
FIWARE Primer - Learn FIWARE in 60 MinutesFIWARE Primer - Learn FIWARE in 60 Minutes
FIWARE Primer - Learn FIWARE in 60 Minutes
 
Federico Michele Facca - FIWARE Primer - Learn FIWARE in 60 Minutes
Federico Michele Facca - FIWARE Primer - Learn FIWARE in 60 MinutesFederico Michele Facca - FIWARE Primer - Learn FIWARE in 60 Minutes
Federico Michele Facca - FIWARE Primer - Learn FIWARE in 60 Minutes
 
Secure Authorization for your Printer: The OAuth Device Flow (DevSum 2018)
Secure Authorization for your Printer: The OAuth Device Flow (DevSum 2018)Secure Authorization for your Printer: The OAuth Device Flow (DevSum 2018)
Secure Authorization for your Printer: The OAuth Device Flow (DevSum 2018)
 
Identity Gateway with the ForgeRock Identity Platform - So What’s New?
Identity Gateway with the ForgeRock Identity Platform - So What’s New?Identity Gateway with the ForgeRock Identity Platform - So What’s New?
Identity Gateway with the ForgeRock Identity Platform - So What’s New?
 
New FIDO Specifications Overview -FIDO Alliance -Tokyo Seminar -Nadalin
New FIDO Specifications Overview -FIDO Alliance -Tokyo Seminar -NadalinNew FIDO Specifications Overview -FIDO Alliance -Tokyo Seminar -Nadalin
New FIDO Specifications Overview -FIDO Alliance -Tokyo Seminar -Nadalin
 

More from ForgeRock

More from ForgeRock (20)

Digital Identities in the Internet of Things - Securely Manage Devices at Scale
Digital Identities in the Internet of Things - Securely Manage Devices at ScaleDigital Identities in the Internet of Things - Securely Manage Devices at Scale
Digital Identities in the Internet of Things - Securely Manage Devices at Scale
 
Get the Exact Identity Solution You Need - In the Cloud - AWS and Beyond
Get the Exact Identity Solution You Need - In the Cloud - AWS and BeyondGet the Exact Identity Solution You Need - In the Cloud - AWS and Beyond
Get the Exact Identity Solution You Need - In the Cloud - AWS and Beyond
 
Identity Live Sydney: Identity Management - A Strategic Opportunity
Identity Live Sydney: Identity Management  - A Strategic OpportunityIdentity Live Sydney: Identity Management  - A Strategic Opportunity
Identity Live Sydney: Identity Management - A Strategic Opportunity
 
Identity Live Singapore: Transform Your Cybersecurity Capability
Identity Live Singapore: Transform Your Cybersecurity CapabilityIdentity Live Singapore: Transform Your Cybersecurity Capability
Identity Live Singapore: Transform Your Cybersecurity Capability
 
Identity Live Singapore 2018 Keynote Presentation
Identity Live Singapore 2018 Keynote PresentationIdentity Live Singapore 2018 Keynote Presentation
Identity Live Singapore 2018 Keynote Presentation
 
Identity Live Sydney 2018 Keynote Presentation
Identity Live Sydney 2018 Keynote PresentationIdentity Live Sydney 2018 Keynote Presentation
Identity Live Sydney 2018 Keynote Presentation
 
Identity Live Singapore: Just Ask 'Em
Identity Live Singapore: Just Ask 'EmIdentity Live Singapore: Just Ask 'Em
Identity Live Singapore: Just Ask 'Em
 
Identity Live Singapore: Building Trust & Privacy in a Connected Society
Identity Live Singapore: Building Trust & Privacy in a Connected SocietyIdentity Live Singapore: Building Trust & Privacy in a Connected Society
Identity Live Singapore: Building Trust & Privacy in a Connected Society
 
Identity Live Sydney: Intelligent Authentication
Identity Live Sydney: Intelligent Authentication Identity Live Sydney: Intelligent Authentication
Identity Live Sydney: Intelligent Authentication
 
Identity Live Sydney: Building Trust and Privacy in a Connected Society
Identity Live  Sydney:  Building Trust and Privacy in a Connected SocietyIdentity Live  Sydney:  Building Trust and Privacy in a Connected Society
Identity Live Sydney: Building Trust and Privacy in a Connected Society
 
Get the Exact Identity Solution you Need in the Cloud - Deep Dive
Get the Exact Identity Solution you Need in the Cloud - Deep DiveGet the Exact Identity Solution you Need in the Cloud - Deep Dive
Get the Exact Identity Solution you Need in the Cloud - Deep Dive
 
Get the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - OverviewGet the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - Overview
 
ForgeRock and Trusona - Simplifying the Multi-factor User Experience
ForgeRock and Trusona - Simplifying the Multi-factor User ExperienceForgeRock and Trusona - Simplifying the Multi-factor User Experience
ForgeRock and Trusona - Simplifying the Multi-factor User Experience
 
Opening Keynote (Identity Live Berlin 2018)
Opening Keynote (Identity Live Berlin 2018)Opening Keynote (Identity Live Berlin 2018)
Opening Keynote (Identity Live Berlin 2018)
 
Steinberg - Customer identity as the cornerstone of our approach to digitaliz...
Steinberg - Customer identity as the cornerstone of our approach to digitaliz...Steinberg - Customer identity as the cornerstone of our approach to digitaliz...
Steinberg - Customer identity as the cornerstone of our approach to digitaliz...
 
BMW Group - Identity Enables the Next 100 Years.. (Identity Live Berlin 2018)
BMW Group - Identity Enables the Next 100 Years..  (Identity Live Berlin 2018)BMW Group - Identity Enables the Next 100 Years..  (Identity Live Berlin 2018)
BMW Group - Identity Enables the Next 100 Years.. (Identity Live Berlin 2018)
 
Trust is Everything - The Future of Identity and the ForgeRock Platform (Iden...
Trust is Everything - The Future of Identity and the ForgeRock Platform (Iden...Trust is Everything - The Future of Identity and the ForgeRock Platform (Iden...
Trust is Everything - The Future of Identity and the ForgeRock Platform (Iden...
 
Silo Busters- The Value of User and Data Centricity beyond IoT Devices (Ident...
Silo Busters- The Value of User and Data Centricity beyond IoT Devices (Ident...Silo Busters- The Value of User and Data Centricity beyond IoT Devices (Ident...
Silo Busters- The Value of User and Data Centricity beyond IoT Devices (Ident...
 
Shift from GDPR readiness to sustained compliance to improve your business an...
Shift from GDPR readiness to sustained compliance to improve your business an...Shift from GDPR readiness to sustained compliance to improve your business an...
Shift from GDPR readiness to sustained compliance to improve your business an...
 
Intelligent Authentication (Identity Live Berlin 2018)
Intelligent Authentication  (Identity Live Berlin 2018)Intelligent Authentication  (Identity Live Berlin 2018)
Intelligent Authentication (Identity Live Berlin 2018)
 

Recently uploaded

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 

Recently uploaded (20)

%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 

Webinar: Extend The Power of The ForgeRock Identity Platform Through Scripting

  • 1. Copyright © 2015 ForgeRock, all rights reserved. 1 Extend The Power of The ForgeRock Identity Platform Through Scripting Javed Shah, Senior Sales Engineer Anders Askåsen, Senior Technical Product Manager October 27th, 2015
  • 2. Copyright © 2015 ForgeRock, all rights reserved. 2 Fastest-growing Open Source Identity Security Software company in the world Our Investors: Our Origins: ForgeRock • Founded 2010 with high double digit growth every year since inception • Over 300 full time employees • Over 400 customers • Active in over 30 countries • Locations: San Francisco, Vancouver (US), Bristol (UK), London (UK), Grenoble (F), Oslo, Singapore, Düsseldorf (D) Award winning platform driving innovation worldwide • Gold winner of the CEO World awards 2014 • Silver Winner in the 6th Annual Golden Bridge Award 2014 • Silver winner for the Fastest-Growing Company of the Year in 2014 • Best in Biz Awards 2014
  • 3. Copyright © 2015 ForgeRock, all rights reserved. 3 Extensible Software “As companies get serious about digital transformation, we see investments shifting toward extensible software platforms used to build and manage a differentiated customer experience.” Source (March 2015): http://blogs.forrester.com/michael_yamnitsky/15-03-31-modern_software_platforms_are_in_hypergrowth
  • 4. Copyright © 2015 ForgeRock, all rights reserved. 4 The Platform
  • 5. Copyright © 2015 ForgeRock, all rights reserved. 5 The ForgeRock Identity Platform (Identity Management) (Access Management) (Directory Services) (Identity Gateway)
  • 6. Copyright © 2015 ForgeRock, all rights reserved. 6 Unified Platform Web Services Security Session Management Synchronization Auditing LDAPv3 REST/JSON Replication Access Control Schema Management Caching Auditing Monitoring Groups Password Policy Active Directory Synch Reporting Authentication Authorization Provisioning Password Management Authentication OpenID Connect Federation Entitlements Workflow Engine Reconciliation Password Replay OAuth2 Adaptive Risk Single Sign-on Registration Role Provisioning Message Transformation SAML2 Throttling Scripting CommonRESTAPI CommonUserInterface Single Integrated, Open Platform
  • 7. Copyright © 2015 ForgeRock, all rights reserved. 7 Deployment & Config
  • 8. Copyright © 2015 ForgeRock, all rights reserved. 8 Deployment & Config #!/bin/sh URL="http://openam.example.com:8080” AM="${URL}/openam” AUTHN="${AM}/identity/authenticate” TOK=`curl -s -k --request POST --data "username=amadmin&password=cangetinam" $AUTHN | cut -f2 -d=` echo "=> OpenAM Token: ${TOK}" ; echo "" # --data @body.json
  • 9. Copyright © 2015 ForgeRock, all rights reserved. 9 Deployment & Config curl --request POST --header "iplanetDirectoryPro: ${TOK}” --header "Content-Type: application/json” --data '{"client_id":["mobile"], "realm":["/"], "userpassword":["password"], "com.forgerock.openam.oauth2provider.clientType":["Confidential"], "com.forgerock.openam.oauth2provider.redirectionURIs": ["'"${URL}/oauth2/oauth2.htm"'","'"${URL}/oIDc/openidc.htm"'"], "com.forgerock.openam.oauth2provider.scopes":["cn|Name","mail|Email","openid","profile"], "com.forgerock.openam.oauth2provider.defaultScopes":["cn"], "com.forgerock.openam.oauth2provider.responseTypes":["code","token","id_token","code token","token id_token","code id_token","code token id_token"], "com.forgerock.openam.oauth2provider.idTokenSignedResponseAlg":["HS256"], "com.forgerock.openam.oauth2provider.name":["Test Client"], "com.forgerock.openam.oauth2provider.description":["OIDC 1.0 Client"] }' ${AM}/frrest/oauth2/client/?_action=create
  • 10. Copyright © 2015 ForgeRock, all rights reserved. 10 Scripting in OpenIDM
  • 11. Copyright © 2015 ForgeRock, all rights reserved. 11 Scripted Connectors •Scripted Groovy Connector Implementations –Scripted SQL –Scripted REST –Scripted CREST –Scripted Azure •Samples provided! •Microsoft Integration – The Scripted PowerShell Connector •Samples provided illustrating Active Directory
  • 12. Copyright © 2015 ForgeRock, all rights reserved. 12 OpenIDM Services openidm.create("managed/user", bjensen, map); openidm.patch("managed/user/" + user._id, null, [{"operation" : "replace", "field" : "/password", "value": "Passw0rd"}]); openidm.read("managed/user/"+userId); openidm.update('managed/user/' + source._id, null, user_read); openidm.delete('managed/user/'+ user._id, user._rev); openidm.query("managed/user", { "_queryFilter": "/userName sw "user.1""}, ["userName", "_id"]); openidm.action('sync', 'performAction', content, params);
  • 13. Copyright © 2015 ForgeRock, all rights reserved. 13 OpenIDM Services openidm.encrypt(value, cipher, alias); openidm.decrypt(value); openidm.isEncrypted(object); openidm.hash(value, algorithm); logger.info(string message, object... params); logger.debug(string message, object... params); logger.error(string message, object... params); logger.trace(string message, object... params); logger.warn(string message, object... params);
  • 14. Copyright © 2015 ForgeRock, all rights reserved. 14 Where can scripts be triggered? •Scripts in Mappings (conf/sync.json) •Triggered by situationon (onCreate, onUpdate, onDelete, onLink, onUnlink) •Object filter (validSource, validTarget) •Correlating objects (correlationQuery, correlationScript) •Any reconciliation •Scripts inside properties •Scripts called in the managed object configuration (conf/managed.json) file •onCreate, onRead, onUpdate, onDelete, onValidate, onRetrieve, onStore, onSync, postCreate, postUpdate, and postDelete
  • 15. Copyright © 2015 ForgeRock, all rights reserved. 15 Where can scripts be triggered? • Scripts called in the router configuration (conf/router.json) fileonRequest, onResponse, onFailure • Scripted Connectors Scripted SQL Scripted Groovy Scripted REST/CREST Scripted SAP Scripted SSH Scripted PowerShell
  • 16. Copyright © 2015 ForgeRock, all rights reserved. 16 Scripting in OpenAM http://openam.forgerock.org/doc/bootstrap/dev-guide/index.html#chap-scripting Draft documentation
  • 17. Copyright © 2015 ForgeRock, all rights reserved. 17 Overview • Script Design and Workflow in OpenAM • Device Registration and Authentication –A more standard way of using the Scripting Framework –Demo • The Scripting API –Useful in geo fencing using reverse geocode lookup –Useful for policy or role-based authentication –Demo
  • 18. Copyright © 2015 ForgeRock, all rights reserved. 18 Scripting Design – The Client Side Script •Authentication modules can use Client Side scripts and Server Side scripts (JavaScript or Groovy) •The use of a Client Side script is optional •Used as a data collection mechanism – Geo location / Fonts / Screen resolution / Timezone – Browser Plugins •Returns collected data in: clientScriptOutputData –A string you could .split() to pull all client-side data
  • 19. Copyright © 2015 ForgeRock, all rights reserved. 19 The Client Side Script
  • 20. Copyright © 2015 ForgeRock, all rights reserved. 20 Scripting Design – The Server Side Script •Handles Authentication •Has access to: –clientScriptOutputData (sent by the client script) –Scripting API •Must set the authentication state to –SUCCESS or –FAILED
  • 21. Copyright © 2015 ForgeRock, all rights reserved. 21 The Server Side Script
  • 22. Copyright © 2015 ForgeRock, all rights reserved. 22 Device Registration and Authentication in OpenAM
  • 23. Copyright © 2015 ForgeRock, all rights reserved. 23 Device Authentication
  • 24. Copyright © 2015 ForgeRock, all rights reserved. 24 Device Authentication
  • 25. Copyright © 2015 ForgeRock, all rights reserved. 25 Device Authentication
  • 26. Copyright © 2015 ForgeRock, all rights reserved. 26 Device Id (Match) •Predefined scripts in OpenAM: –Client side script –Server side script •Scripts are referenced inside Module instances •Depends on other modules: –For user identification (Data Store) –Second factor on failure (HOTP) –Device Id Save!
  • 27. Copyright © 2015 ForgeRock, all rights reserved. 27 Device Id (Match) •Checks different criteria using Client Side Script –User agents –Installed fonts –Installed plugins –resolution/color depth associated with a display –time zone, geo location •Adds penalty points if one criteria is missed •Checks sum of penalty points against a threshold
  • 28. Copyright © 2015 ForgeRock, all rights reserved. 28 Device Id (Save) •Prompts the user before saving the device profile –Can be configured to auto save •Will save the device profiles in the user’s profile – Number of profiles stored can be changed from a default 5 •Authentication chain is usually configured to not reach this module, if the device was recognized by the Device Id (Match) module –Device Id Match configured as Sufficient ensures processing stops if a profile match was found
  • 29. Copyright © 2015 ForgeRock, all rights reserved. 29 Demo – Device Fingerprinting
  • 30. Copyright © 2015 ForgeRock, all rights reserved. 30 Scripted Authentication in OpenAM
  • 31. Copyright © 2015 ForgeRock, all rights reserved. 31 Scripted Authentication
  • 32. Copyright © 2015 ForgeRock, all rights reserved. 32 HTTP Commons Framework (coming in OpenAM 13) •org.forgerock.http.protocol.* –Request / Cookie / Entity / Header / Headers / Response •org.forgerock.util.promise.* –Promises –A Promise represents the result of an asynchronous task. •groovy.json.JsonSlurper –JSON parser used in the scripts •API Documentation –http://commons.forgerock.org/bom/apidocs/index.html
  • 33. Copyright © 2015 ForgeRock, all rights reserved. 33 Scripting API •Make REST API calls from the Server Side Script! –Use the new HTTP Commons Framework to make a new Request –httpClient.send(Request), returns a Promise –Promise.get(), returns a Response –Parse the Response using JsonSlurper! •Accessing Authentication State –OpenAM passes to Server Side script: •authState, sharedState (contains password also) •username
  • 34. Copyright © 2015 ForgeRock, all rights reserved. 34 Scripting API •Logging –logger • error() / message() / warning() •Accessing Profile Data –idRepository • getAttribute / setAttribute / addAttribute •Access the original login request using requestData object –getHeader(name) / getHeaders(name) –getParameter(name) / getParameters(name)
  • 35. Copyright © 2015 ForgeRock, all rights reserved. 35 Policy Configuration for Demo
  • 36. Copyright © 2015 ForgeRock, all rights reserved. 36 Scripting Demo Acquire ssoToken using REST Evaluate policy for the resource “authn/self” and “authn/view”
  • 37. Copyright © 2015 ForgeRock, all rights reserved. 37 Scripting Demo Policy decision Check Policy decision and permit if requested actions ALLOWED Logout the service account or the user
  • 38. Copyright © 2015 ForgeRock, all rights reserved. 38 Demo – Scripted Authentication
  • 39. Copyright © 2015 ForgeRock, all rights reserved. 39 Other Possibilities •Policy condition scripting –attach a script as a policy condition! •OIDC Claims data –Scripts that gather and populate the claims in a request when issuing an ID token or making a request to the userinfo endpoint.
  • 40. Copyright © 2015 ForgeRock, all rights reserved. 40 IDENTITY SUMMIT SERIES 2015: EUROPE 5 November Amsterdam 10 November Düsseldorf Visit summits.forgerock.com
  • 41. Copyright © 2015 ForgeRock, all rights reserved. 41 Thank You! Questions?