13
Human Information Identity Management Identity Solution Architects Case Study: Utilizing OpenIDM with an External AJAX Interface 6/4/2014

Case Study: Utilizing OpenIDM with an External AJAX Interface

Embed Size (px)

DESCRIPTION

Breakout Session presented by Rob Jackson, Identity Solutions Architect at Nulli at the 2014 IRM Summit in Phoenix, Arizona

Citation preview

Page 1: Case Study: Utilizing OpenIDM with an External AJAX Interface

Human Information

Identity Management

Identity Solution Architects

Case Study: Utilizing OpenIDM with an External AJAX Interface

6/4/2014

Page 2: Case Study: Utilizing OpenIDM with an External AJAX Interface

Introduction

NullioForgeRock Strategic PartneroOpenSource Contributorso IAM Specialists since 1997oHQ in Calgary, AB, Canada

Servicing North America

Page 3: Case Study: Utilizing OpenIDM with an External AJAX Interface

Whitepaper

Consumer facing trendAvailable for download nulli.com blogAuthored by Hadi Ahmadi / Sandeep ChaturvediBased on current Customero Requirements

IDP for public sector applications Registration/verification Self-service user functions

o Detailed design was already completeo Interested in lightweight AJAX UI with REST

API (Internet-facing)

Page 4: Case Study: Utilizing OpenIDM with an External AJAX Interface

CREST (Commons REST)

Common REST API between products:oOpenIdMoOpenDJoOpenAM

Page 5: Case Study: Utilizing OpenIDM with an External AJAX Interface

Implementing CREST

Which API?oOverlap of functionalityoStrong pointsSecurity?o Internet-facing?Middle Tier?oRequired?Gotchas

Page 6: Case Study: Utilizing OpenIDM with an External AJAX Interface

Which API?

Overlap ExampleCreate User•OpenAM»../json/users/?_action=register

•OpenIdM»../managed/user/

•OpenDJ»../users/newuser

Page 7: Case Study: Utilizing OpenIDM with an External AJAX Interface

Which API?

CREST API

Registration

Provision LDAP

Provision (Multiple stores)

Password

Password Reset

OTP

Auth’n & Auth’z

Customizable

Workflow

Policy/Validation

Configuration

Self Service

Data Replication

Federation

OpenAM X X X X X X X X X

OpenIdM X X X X X X X X X X X

OpenDJ X X X X

Page 8: Case Study: Utilizing OpenIDM with an External AJAX Interface

Which API? - Summary

OpenIdMoWorkflowoMultiple Data StoresoMost FlexibleOpenAMoAuthentication/AuthorizationOpenDJoMore System->System

Page 9: Case Study: Utilizing OpenIDM with an External AJAX Interface

Security?

Reverse Proxy/Secure GatewayoReduce ‘Attack’ SurfaceoControl generalized API patterns

POST ../?action=somethingAPI Policies (OpenIdM)Authenticated vs AnonymousoToken/UID+PWDoOpenIdM protected by OpenAMXSS/CORSJSON Sanitization (embedded scripts, etc)

Page 10: Case Study: Utilizing OpenIDM with an External AJAX Interface

Middle Tier?

Business LogicoMultiple calls behindToken authenticationDMZ presenceAnonymous links from emailsHost non-identity contentsoCountry/city lists, etcoLanding pages/UI hostCAPTCHA

Page 11: Case Study: Utilizing OpenIDM with an External AJAX Interface

Gotchas

OpenIdM (Jetty) Protected by OpenAMoCan’t use OOTB Anonymous userReturning detailed user status from OpenAM Authentication REST API (Active/Inactive)oMultiple callsoAuthentication plugin?Functionality in OpenAM not as flexibleoOpenIdM custom end points

Page 12: Case Study: Utilizing OpenIDM with an External AJAX Interface

Architecture

Page 13: Case Study: Utilizing OpenIDM with an External AJAX Interface

P

C

Robert Jackson

Identity Architect

[email protected]

(403) 869-3313

(403) 648-0909

Questions?