SlideShare a Scribd company logo
Enterprise  Auth  APIs
...WHEEL  GREASE  FOR  IAM 
 
 
 
BHAGYA  PRABHAKAR

 
 
 
 
 
 
E*TRADE  FINANCIAL
Enterprise  Auth  APIs
§ What?	
  
§ Standard	
  IAM	
  APIs	
  	
  for	
  the	
  enterprise	
  
§ Why?	
  
§ Separa6on	
  of	
  concerns	
  
§ How?	
  
§ IAM	
  exper6se	
  and	
  good	
  so<ware	
  engineering	
  
	
  
	
  
Familiar?
Internet	
  
OAuth	
  	
  
Server	
  
Auth	
  
Agent	
  
API	
  
API	
  
API	
  
App	
  
Access	
  Tokens	
  
SAML	
  
Server	
  
SAML	
  	
  Asser6ons	
  
Mutual	
  Authen6ca6on	
  
Client	
  Side	
  SSL	
  
HTML	
  Basic	
  
HTML	
  Basic	
  
User	
  
App	
  Sec	
  
Developers	
  
Kerberos	
  
App	
  
Desiderata  something  that  is  needed  or  wanted
§ Standardized	
  solu6on	
  across	
  applica6ons	
  
§ Consistent	
  user	
  experience	
  
§ Loose	
  coupling	
  to	
  IAM	
  systems	
  
§ New	
  auth	
  methods,	
  minimal/no	
  app	
  changes	
  
§ Enforce	
  policy	
  	
  
§ More	
  control	
  and	
  granularity	
  
	
  
Enterprise  Auth  API
Internet	
  
OAuth	
  	
  
Server	
  
Auth	
  
Agent	
  
API	
  
SAML	
  
Server	
  
SAML	
  	
  Asser6ons	
  
Mutual	
  Authen6ca6on	
  
Over	
  SSL	
  
HTML	
  Basic	
  
HTML	
  Basic	
  
User	
  
App	
  Sec	
  
Developers	
  
API	
   API	
  
App	
  Enterprise	
  Auth	
  	
  
API/SDK	
  
Enterprise	
  Auth	
  API	
  Core	
  Impl	
  
Kerberos	
  
App	
  
Example  :  Get  AuthenIcated  User’s  Details
thisMustBeSimpler	
  ()	
  {	
  
	
  SecurityContext	
  securityContext=SecurityContextHolder.getContext();	
  
	
  if	
  (securityContext	
  !=	
  null)	
  {	
  
	
   	
  Authen6ca6on	
  authen6ca6on=securityContext.getAuthen6ca6on();	
  
	
  if	
  (authen<ca<on	
  !=	
  null)	
  {	
  
	
   	
  if	
  (authen<ca<on.getPrincipal()	
  instanceof	
  EnterpriseUserDetails)	
  {	
  
	
   	
   	
  EnterpriseUserDetails	
  userDetails=(EnterpriseUserDetails)	
  	
  
	
   	
   	
   	
   	
  authen6ca6on.getPrincipal();	
  
	
  
	
   	
   	
   	
  String	
  sessionId=userDetails.getServerSessionId();	
  
	
   	
   	
  }	
  
	
   	
  }	
  
	
  }	
  
}	
  
With  an  Enterprise  Auth  API
	
  
Authen<ca<onInfo	
  {	
  
	
  isAuthen<cated();	
  
	
  getUserId(); 	
  	
  
	
  getUserName();	
  
	
  getRoles();	
  
	
  getUserDetails();	
  
	
  
}	
  
	
  
nowThisIsMuchBeLer()	
  {	
  
	
  	
  
	
  Authen6ca6onInfo	
  authnInfo	
  =	
  Authen<ca<onInfo.newInstance();	
  
	
  	
  
	
  UserDetails	
  userDetails=authnInfo	
  .getUserDetails();	
  
	
  
	
  String	
  sessionId=userDetails.getServerSessionId();	
  
	
  
}	
  
	
  
A  Couple  More  Examples
	
   Federator	
  {	
  
	
   	
  	
  	
  	
  	
  	
  	
  	
  	
  federate(aLributes,	
  endpoint);	
  
	
   }	
  
	
   Authoriza<onInfo	
  {	
  
	
   	
  	
  	
  	
  	
  	
  	
  	
  	
  hasRole(role);	
  
	
   	
  	
  	
  	
  	
  	
  	
  	
  	
  getRoles();	
  
	
   }	
  
CreaIng  an  API
…THAT  DEVELOPERS  WANT  TO  USE
GeQng  Started
§ Derive	
  from	
  exis6ng	
  use-­‐cases	
  
§ Talk	
  to	
  applica6on	
  developers	
  
§ Beware	
  of	
  an6	
  paXerns	
  -­‐	
  bullet	
  point	
  engineering,	
  abstrac6on	
  
inversion	
  
§ Build	
  on	
  top	
  of	
  modular	
  Auth	
  framework	
  
§ Spring	
  Security,	
  Shiro,	
  my-­‐favorite-­‐framework	
  
§ Simplify	
  and	
  constrain	
  
§ Enterprise	
  specific	
  rules	
  
	
  
Make  it  Modular  and  Portable
§ No	
  kitchen	
  sink	
  of	
  all	
  APIs	
  to	
  integrate	
  with	
  
§ Separate	
  API	
  and	
  impl	
  modules	
  
§ Consumers	
  depend	
  on	
  API	
  
§ Swap	
  out	
  underlying	
  impl	
  
§ Integra6on	
  in	
  other	
  languages	
  
§ Dis6ll	
  into	
  a	
  web	
  service	
  layer	
  
§ Language	
  specific	
  SDK	
  
	
  
Maintain...Maintain...Maintain
§ Support	
  the	
  developers	
  who	
  use	
  it	
  
§ Help	
  developers	
  proac6vely	
  
§ Implement	
  fixes	
  and	
  extensions	
  quickly	
  
§ Keep	
  up	
  with	
  the	
  IAM	
  industry	
  	
  
§ Make	
  it	
  SOLID	
  
§ Use	
  Seman6c	
  Versioning	
  
	
  
Return  on  Investments
§ De	
  facto	
  standard	
  auth	
  API	
  in	
  the	
  Enterprise	
  
§ Mix	
  and	
  match	
  several	
  IAM	
  systems	
  
§ No	
  vendor	
  lock	
  in	
  
§ Rapid	
  prototype	
  development	
  
§ Quick	
  applica6on	
  integra6on	
  
§ Improved	
  upon	
  our	
  applica6on	
  security	
  prac6ce	
  
§ Detec6on	
  and	
  remedia6on	
  
	
  
What’s  Important...
§ Façade	
  away	
  auth	
  frameworks	
  and	
  IAM	
  systems	
  
§ Enhance	
  and	
  constrain	
  3rd	
  party	
  components	
  with	
  
organiza6on	
  rules	
  
§ Make	
  it	
  modular,	
  portable	
  and	
  easy	
  to	
  use	
  
§ Keep	
  up	
  with	
  the	
  IAM	
  industry	
  
So?
§ Benefit	
  from	
  a	
  standardized	
  IAM	
  solu6on	
  across	
  
applica6ons	
  
Thanks!
To	
  Adam	
  Migus	
  and	
  E*TRADE	
  Financial	
  
	
  
E-­‐mail:	
  bhagyashree.prabhakar@etrade.com	
  
	
  
Links	
  
hXp://semver.org/	
  
hXp://en.wikipedia.org/wiki/SOLID_(object-­‐oriented_design)	
  
hXp://projects.spring.io/spring-­‐security/	
  
hXp://shiro.apache.org/	
  
hXp://en.wikipedia.org/wiki/Desiderata	
  
	
  
	
  

More Related Content

PDF
CIS 2015 SSO for Mobile and Web Apps Ashish Jain
PDF
CloudStack Identity and Access Management (IAM)
PPTX
IdP, SAML, OAuth
PDF
Uncovering XACML to solve real world business use cases
PPT
Authentication across the Atlassian Ecosystem - AtlasCamp 2011
PPTX
Why lasagna is better than spaghetti: baking authorization into your applicat...
PPTX
XACML for Developers - Updates, New Tools, & Patterns for the Eager #IAM Deve...
PPTX
OAuth Authorization flows in salesforce
CIS 2015 SSO for Mobile and Web Apps Ashish Jain
CloudStack Identity and Access Management (IAM)
IdP, SAML, OAuth
Uncovering XACML to solve real world business use cases
Authentication across the Atlassian Ecosystem - AtlasCamp 2011
Why lasagna is better than spaghetti: baking authorization into your applicat...
XACML for Developers - Updates, New Tools, & Patterns for the Eager #IAM Deve...
OAuth Authorization flows in salesforce

What's hot (20)

PPTX
Spring Security
PPTX
Azure API Management
PPTX
BDD Approach with Karate Framework in Service Tests
PDF
Security enforcement of Java Microservices with Apiman & Keycloak
PPTX
Spring Boot Authentication...and More!
PPTX
API as-a-Product with Azure API Management (APIM)
PPTX
SAML Smackdown
PPTX
Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 2
PPTX
Password less auth using Azure AD
PPTX
Hands on with ASP.NET MVC
PPTX
Secure API Services in Node with Basic Auth and OAuth2
PPTX
How to Use Stormpath in angular js
PPTX
Best Practices for API Security
PPTX
API Security and Management Best Practices
PDF
PDF
Tour of Heroku + Salesforce Integration Methods
PDF
Advanced Administration: Kaseya BYOD Suite
PPTX
Camunda BPM - Said Mengi
PPT
Salesforce Integration
PDF
Apiman - Open Source API Management @ JBCNConf 2016
Spring Security
Azure API Management
BDD Approach with Karate Framework in Service Tests
Security enforcement of Java Microservices with Apiman & Keycloak
Spring Boot Authentication...and More!
API as-a-Product with Azure API Management (APIM)
SAML Smackdown
Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 2
Password less auth using Azure AD
Hands on with ASP.NET MVC
Secure API Services in Node with Basic Auth and OAuth2
How to Use Stormpath in angular js
Best Practices for API Security
API Security and Management Best Practices
Tour of Heroku + Salesforce Integration Methods
Advanced Administration: Kaseya BYOD Suite
Camunda BPM - Said Mengi
Salesforce Integration
Apiman - Open Source API Management @ JBCNConf 2016
Ad

Similar to CIS14: Enterprise Identity APIs (20)

PPTX
What API Specifications and Tools Help Engineers to Construct a High-Security...
PDF
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
PDF
Preparing for Data Residency and Custom Domains
PDF
SAP HANA Cloud – Virtual Bootcamp Securing SAP HANA Cloud Applications
PPTX
Community call: Develop multi tenant apps with the Microsoft identity platform
PDF
Everything you always wanted to know about API Management (but were afraid to...
PDF
Complex architectures for authentication and authorization on AWS
PDF
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
PPTX
CQRS and Event Sourcing
PDF
Dave Carroll Application Services Salesforce
PDF
Trusted by Default: The Forge Security & Privacy Model
PPT
Extending Oracle SSO
PPTX
Secure and Optimize APIs using Azure API Management
PPTX
Policy enabling your services - using elastic dynamic authorization to contro...
PDF
Security as a Service - Tian Wang
PDF
SAP Single Sign-On 2.0 Overview
PDF
Leveraging New Features in CA Single-Sign on to Enable Web Services, Social S...
PPT
Iam suite introduction
PDF
Gravitee API Management - Ahmet AYDIN
PPT
Bh Win 03 Rileybollefer
What API Specifications and Tools Help Engineers to Construct a High-Security...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
Preparing for Data Residency and Custom Domains
SAP HANA Cloud – Virtual Bootcamp Securing SAP HANA Cloud Applications
Community call: Develop multi tenant apps with the Microsoft identity platform
Everything you always wanted to know about API Management (but were afraid to...
Complex architectures for authentication and authorization on AWS
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
CQRS and Event Sourcing
Dave Carroll Application Services Salesforce
Trusted by Default: The Forge Security & Privacy Model
Extending Oracle SSO
Secure and Optimize APIs using Azure API Management
Policy enabling your services - using elastic dynamic authorization to contro...
Security as a Service - Tian Wang
SAP Single Sign-On 2.0 Overview
Leveraging New Features in CA Single-Sign on to Enable Web Services, Social S...
Iam suite introduction
Gravitee API Management - Ahmet AYDIN
Bh Win 03 Rileybollefer
Ad

More from CloudIDSummit (20)

PPTX
CIS 2016 Content Highlights
PPTX
Top 6 Reasons You Should Attend Cloud Identity Summit 2016
PDF
CIS 2015 Security Without Borders: Taming the Cloud and Mobile Frontier - And...
PDF
Mobile security, identity & authentication reasons for optimism 20150607 v2
PDF
CIS 2015 Mobile Security, Identity & Authentication: Reasons for Optimism - R...
PDF
CIS 2015 Virtual Identity: The Vision, Challenges and Experiences in Driving ...
PDF
CIS 2015 Deploying Strong Authentication to a Global Enterprise: A Comedy in ...
PDF
CIS 2015 Without Great Security, Digital Identity is Not Worth the Electrons ...
PDF
CIS 2015 Mergers & Acquisitions in a Cloud Enabled World - Brian Puhl
PDF
CIS 2015 IoT and IDM in your Mobile Enterprise - Brian Katz
PDF
CIS 2015 Practical Deployments Enterprise Cloud Access Management Platform - ...
PDF
CIS 2015 What I Learned From Pitching IAM To My CIO - Steve Tout
PDF
CIS 2015 How to secure the Internet of Things? Hannes Tschofenig
PDF
CIS 2015 The IDaaS Dating Game - Sean Deuby
PDF
The Industrial Internet, the Identity of Everything and the Industrial Enterp...
PDF
CIS 2015 SAML-IN / SAML-OUT - Scott Tomilson & John Dasilva
PDF
CIS 2015 Session Management at Scale - Scott Tomilson & Jamshid Khosravian
PDF
CIS 2015 So you want to SSO … Scott Tomilson & John Dasilva
PDF
CIS 2015 Identity Relationship Management in the Internet of Things
PDF
CIS 2015 The Ethics of Personal Data - Robin Wilton
CIS 2016 Content Highlights
Top 6 Reasons You Should Attend Cloud Identity Summit 2016
CIS 2015 Security Without Borders: Taming the Cloud and Mobile Frontier - And...
Mobile security, identity & authentication reasons for optimism 20150607 v2
CIS 2015 Mobile Security, Identity & Authentication: Reasons for Optimism - R...
CIS 2015 Virtual Identity: The Vision, Challenges and Experiences in Driving ...
CIS 2015 Deploying Strong Authentication to a Global Enterprise: A Comedy in ...
CIS 2015 Without Great Security, Digital Identity is Not Worth the Electrons ...
CIS 2015 Mergers & Acquisitions in a Cloud Enabled World - Brian Puhl
CIS 2015 IoT and IDM in your Mobile Enterprise - Brian Katz
CIS 2015 Practical Deployments Enterprise Cloud Access Management Platform - ...
CIS 2015 What I Learned From Pitching IAM To My CIO - Steve Tout
CIS 2015 How to secure the Internet of Things? Hannes Tschofenig
CIS 2015 The IDaaS Dating Game - Sean Deuby
The Industrial Internet, the Identity of Everything and the Industrial Enterp...
CIS 2015 SAML-IN / SAML-OUT - Scott Tomilson & John Dasilva
CIS 2015 Session Management at Scale - Scott Tomilson & Jamshid Khosravian
CIS 2015 So you want to SSO … Scott Tomilson & John Dasilva
CIS 2015 Identity Relationship Management in the Internet of Things
CIS 2015 The Ethics of Personal Data - Robin Wilton

Recently uploaded (20)

PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
A Presentation on Artificial Intelligence
PPTX
Machine Learning_overview_presentation.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Empathic Computing: Creating Shared Understanding
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
1. Introduction to Computer Programming.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
20250228 LYD VKU AI Blended-Learning.pptx
A Presentation on Artificial Intelligence
Machine Learning_overview_presentation.pptx
Network Security Unit 5.pdf for BCA BBA.
Encapsulation_ Review paper, used for researhc scholars
Digital-Transformation-Roadmap-for-Companies.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
A comparative analysis of optical character recognition models for extracting...
Empathic Computing: Creating Shared Understanding
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Dropbox Q2 2025 Financial Results & Investor Presentation
1. Introduction to Computer Programming.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Unlocking AI with Model Context Protocol (MCP)
The Rise and Fall of 3GPP – Time for a Sabbatical?
Accuracy of neural networks in brain wave diagnosis of schizophrenia

CIS14: Enterprise Identity APIs

  • 1. Enterprise  Auth  APIs ...WHEEL  GREASE  FOR  IAM BHAGYA  PRABHAKAR E*TRADE  FINANCIAL
  • 2. Enterprise  Auth  APIs § What?   § Standard  IAM  APIs    for  the  enterprise   § Why?   § Separa6on  of  concerns   § How?   § IAM  exper6se  and  good  so<ware  engineering      
  • 3. Familiar? Internet   OAuth     Server   Auth   Agent   API   API   API   App   Access  Tokens   SAML   Server   SAML    Asser6ons   Mutual  Authen6ca6on   Client  Side  SSL   HTML  Basic   HTML  Basic   User   App  Sec   Developers   Kerberos   App  
  • 4. Desiderata  something  that  is  needed  or  wanted § Standardized  solu6on  across  applica6ons   § Consistent  user  experience   § Loose  coupling  to  IAM  systems   § New  auth  methods,  minimal/no  app  changes   § Enforce  policy     § More  control  and  granularity    
  • 5. Enterprise  Auth  API Internet   OAuth     Server   Auth   Agent   API   SAML   Server   SAML    Asser6ons   Mutual  Authen6ca6on   Over  SSL   HTML  Basic   HTML  Basic   User   App  Sec   Developers   API   API   App  Enterprise  Auth     API/SDK   Enterprise  Auth  API  Core  Impl   Kerberos   App  
  • 6. Example  :  Get  AuthenIcated  User’s  Details thisMustBeSimpler  ()  {    SecurityContext  securityContext=SecurityContextHolder.getContext();    if  (securityContext  !=  null)  {      Authen6ca6on  authen6ca6on=securityContext.getAuthen6ca6on();    if  (authen<ca<on  !=  null)  {      if  (authen<ca<on.getPrincipal()  instanceof  EnterpriseUserDetails)  {        EnterpriseUserDetails  userDetails=(EnterpriseUserDetails)              authen6ca6on.getPrincipal();            String  sessionId=userDetails.getServerSessionId();        }      }    }   }  
  • 7. With  an  Enterprise  Auth  API   Authen<ca<onInfo  {    isAuthen<cated();    getUserId();      getUserName();    getRoles();    getUserDetails();     }     nowThisIsMuchBeLer()  {        Authen6ca6onInfo  authnInfo  =  Authen<ca<onInfo.newInstance();        UserDetails  userDetails=authnInfo  .getUserDetails();      String  sessionId=userDetails.getServerSessionId();     }    
  • 8. A  Couple  More  Examples   Federator  {                       federate(aLributes,  endpoint);     }     Authoriza<onInfo  {                       hasRole(role);                       getRoles();     }  
  • 9. CreaIng  an  API …THAT  DEVELOPERS  WANT  TO  USE
  • 10. GeQng  Started § Derive  from  exis6ng  use-­‐cases   § Talk  to  applica6on  developers   § Beware  of  an6  paXerns  -­‐  bullet  point  engineering,  abstrac6on   inversion   § Build  on  top  of  modular  Auth  framework   § Spring  Security,  Shiro,  my-­‐favorite-­‐framework   § Simplify  and  constrain   § Enterprise  specific  rules    
  • 11. Make  it  Modular  and  Portable § No  kitchen  sink  of  all  APIs  to  integrate  with   § Separate  API  and  impl  modules   § Consumers  depend  on  API   § Swap  out  underlying  impl   § Integra6on  in  other  languages   § Dis6ll  into  a  web  service  layer   § Language  specific  SDK    
  • 12. Maintain...Maintain...Maintain § Support  the  developers  who  use  it   § Help  developers  proac6vely   § Implement  fixes  and  extensions  quickly   § Keep  up  with  the  IAM  industry     § Make  it  SOLID   § Use  Seman6c  Versioning    
  • 13. Return  on  Investments § De  facto  standard  auth  API  in  the  Enterprise   § Mix  and  match  several  IAM  systems   § No  vendor  lock  in   § Rapid  prototype  development   § Quick  applica6on  integra6on   § Improved  upon  our  applica6on  security  prac6ce   § Detec6on  and  remedia6on    
  • 14. What’s  Important... § Façade  away  auth  frameworks  and  IAM  systems   § Enhance  and  constrain  3rd  party  components  with   organiza6on  rules   § Make  it  modular,  portable  and  easy  to  use   § Keep  up  with  the  IAM  industry  
  • 15. So? § Benefit  from  a  standardized  IAM  solu6on  across   applica6ons  
  • 16. Thanks! To  Adam  Migus  and  E*TRADE  Financial     E-­‐mail:  bhagyashree.prabhakar@etrade.com     Links   hXp://semver.org/   hXp://en.wikipedia.org/wiki/SOLID_(object-­‐oriented_design)   hXp://projects.spring.io/spring-­‐security/   hXp://shiro.apache.org/   hXp://en.wikipedia.org/wiki/Desiderata