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

Ethical Hacking Certifications | Certified Ethical Hacker | Ethical Hacking |...
Ethical Hacking Certifications | Certified Ethical Hacker | Ethical Hacking |...Ethical Hacking Certifications | Certified Ethical Hacker | Ethical Hacking |...
Ethical Hacking Certifications | Certified Ethical Hacker | Ethical Hacking |...
Simplilearn
 
Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...
Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...
Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...
SSIMeetup
 

What's hot (20)

IDP Proxy Concept: Accessing Identity Data Sources Everywhere!
IDP Proxy Concept: Accessing Identity Data Sources Everywhere!IDP Proxy Concept: Accessing Identity Data Sources Everywhere!
IDP Proxy Concept: Accessing Identity Data Sources Everywhere!
 
Zero Trust Model
Zero Trust ModelZero Trust Model
Zero Trust Model
 
Biometrics technology
Biometrics technology Biometrics technology
Biometrics technology
 
Ethical Hacking Certifications | Certified Ethical Hacker | Ethical Hacking |...
Ethical Hacking Certifications | Certified Ethical Hacker | Ethical Hacking |...Ethical Hacking Certifications | Certified Ethical Hacker | Ethical Hacking |...
Ethical Hacking Certifications | Certified Ethical Hacker | Ethical Hacking |...
 
Digital signature & eSign overview
Digital signature & eSign overviewDigital signature & eSign overview
Digital signature & eSign overview
 
Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...
Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...
Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...
 
(ISC)2 CCSP - Certified Cloud Security Professional
(ISC)2 CCSP - Certified Cloud Security Professional(ISC)2 CCSP - Certified Cloud Security Professional
(ISC)2 CCSP - Certified Cloud Security Professional
 
Identity & Access Management for Securing DevOps
Identity & Access Management for Securing DevOpsIdentity & Access Management for Securing DevOps
Identity & Access Management for Securing DevOps
 
Talking About SSRF,CRLF
Talking About SSRF,CRLFTalking About SSRF,CRLF
Talking About SSRF,CRLF
 
Introduction to Cryptography
Introduction to CryptographyIntroduction to Cryptography
Introduction to Cryptography
 
FIDO & PSD2: Solving the Strong Customer Authentication Challenge in Europe
FIDO & PSD2: Solving the Strong Customer Authentication Challenge in EuropeFIDO & PSD2: Solving the Strong Customer Authentication Challenge in Europe
FIDO & PSD2: Solving the Strong Customer Authentication Challenge in Europe
 
Enterprise Identity and Access Management Use Cases
Enterprise Identity and Access Management Use CasesEnterprise Identity and Access Management Use Cases
Enterprise Identity and Access Management Use Cases
 
Iris scanning
Iris scanningIris scanning
Iris scanning
 
security misconfigurations
security misconfigurationssecurity misconfigurations
security misconfigurations
 
OpenID Connect Explained
OpenID Connect ExplainedOpenID Connect Explained
OpenID Connect Explained
 
Biometrics Technology PPT
Biometrics Technology PPTBiometrics Technology PPT
Biometrics Technology PPT
 
PaloAlto Enterprise Security Solution
PaloAlto Enterprise Security SolutionPaloAlto Enterprise Security Solution
PaloAlto Enterprise Security Solution
 
IRIS RECOGNITION
IRIS RECOGNITION IRIS RECOGNITION
IRIS RECOGNITION
 
Zero Trust : How to Get Started
Zero Trust : How to Get StartedZero Trust : How to Get Started
Zero Trust : How to Get Started
 
Penetration testing
Penetration testingPenetration testing
Penetration testing
 

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

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
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
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 

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?