SlideShare a Scribd company logo
©2016 Apigee Corp. All Rights Reserved.
Dino Chiesa
Apigee
dchiesa@apigee.com
Vinit Mehta
Apigee
vmehta@apigee.com
Today’s presenters
Slideshare
slideshare.com/apigee
Apigee Community
https://community.apigee.com
YouTube
youtube.com/apigee
4
What do these companies have in common?
All are supporting OpenID Connect
and JWT.
5
Authentication and Authorization is hard.
Many systems do it poorly. (Do YOU provide 2FA ?)
JWT and OpenID Connect will help solve that problem.
You need to get JWT, now.
6
JWT, JWE, JWS
7
JWS, JWE, JWT are all part of JOSE:
“JSON Object Signing and Encryption”
8
JWT Enables Federated Identity
9©2015 Apigee. All Rights Reserved.
Internal Client
Application
Authentication
Server
(aka Identity
Provider, IdP)
API Proxy
User
store
Login Create
JWT (Signed)
JWT
Data
Public Key
Internal
Systems
JWT
Data
JWT
Data
Data
JWT
Validate
Validate
Validate
Validate
JWT Integrates with external Identity Providers
10©2015 Apigee. All Rights Reserved.
Partner
Application’s
Authentication
Server
(aka Identity
Provider, IdP)
API Proxy
User
store
Login
JWT (Signed) JWT
JWT
Data
JWT
Data
Data
Public Key
Validat
e
1 2 3
4
5
6
7
Internal
or Partner
Systems
• JWS – Signature
IETF RFC 7515
https://tools.ietf.org/html
/rfc7515
• JSON representation of
Signed or HMAC’ed
Content
• Payload that is signed
need not be JSON!
• The resulting JWS can be
verified by receivers
• JWE – Encryption
IETF RFC 7516
https://tools.ietf.org/ht
ml/rfc7516
• JSON representation of
Encrypted content
• Payload that is encrypted
need not be JSON
• Resulting JWE Can be
decrypted by receivers
JSON Web Token, Signature, Encryption
11
• JWT – Token
IETF RFC 7519
https://tools.ietf.org/ht
ml/rfc7519
• Signed, or optionally,
Encrypted, set of claims.
• Issuer, Subject,
audience, issue time, not-
before time, expiration.
• Used as a BEARER
token
• “Self-validating”
• Receiving parties can
make decisions based on
the claims and signing
party, or encrypting party.
©2015 Apigee. All Rights Reserved.
• JWS – Signature
IETF RFC 7515
https://tools.ietf.org/html
/rfc7515
• JSON representation of
Signed or HMAC’ed
Content
• Payload that is signed
need not be JSON!
• The resulting JWS can be
verified by receivers
• JWE – Encryption
IETF RFC 7516
https://tools.ietf.org/ht
ml/rfc7516
• JSON representation of
Encrypted content
• Payload that is encrypted
need not be JSON
• Resulting JWE Can be
decrypted by receivers
JSON Web Token, Signature, Encryption
12
• JWT – Token
IETF RFC 7519
https://tools.ietf.org/ht
ml/rfc7519
• Signed, or optionally,
Encrypted, set of claims.
• Issuer, Subject,
audience, issue time, not-
before time, expiration.
• Used as a BEARER
token
• “Self-validating”
• Receiving parties can
make decisions based on
the claims and signing
party, or encrypting party.
©2015 Apigee. All Rights Reserved.
Demo: Azure AD JWT
and JWT.io
13
Apigee Edge includes standard policies for many
security tasks.
Oauth1.0a generation and verification,
Oauth2 generation and verification,
SAML generation and verification…
14
Apigee Edge does not yet include standard policies for
JWT, JWE, JWS
15
But … Code + Configure !
16
• Embed your Java code as a policy in
Apigee Edge
• One Interface, one method, 2
parameters
• Can read policy configuration
• Can read and write context variables
• …anchor anywhere in Edge policy flow
• One of the ways to extend Edge with
custom code. Also JavaScript, Python,
nodejs.
• RTFM:
http://apigee.com/docs/api-
services/reference/java-callout-policy
What are Java Callouts?
17©2015 Apigee. All Rights Reserved.
• Re-usable now in any of
your Proxies
• Configure it with XML as
any other policy
• Make decisions based
on embedded claims
• Can read JWT
generated by third
parties, such as Google
or Windows Azure
Java Callout for JWT Parse/Verification
18©2015 Apigee. All Rights Reserved.
https://github.com/apigee/iloveapis2015-jwt-jwe-jws
• Re-usable now in any
of your Proxies
• Configure it with XML
as any other policy
• Generate JWT for use
by others
• Can be used by
backends or other
systems called by
clients
• Can be consumed by
Edge itself
Java Callout for JWT Generation
19©2015 Apigee. All Rights Reserved.
JWT Code walkthrough
& Demo
20
Some comments
• This JWT policy handles Signed, not Encrypted JWT
• RS256 and HS256 are supported
• We have a different policy that produces Encrypted JWT
(JWE) using RS256
• JWT cannot be “revoked” – so limit your lifetimes
• Exercise for the reader:
–ES256, other algorithms
21©2015 Apigee. All Rights Reserved.
When to use JWT vs Oauth 2.0 tokens?
22
When to use JWT vs Oauth 2.0 tokens?
• Trick Question! JWT are OAuth2.0 tokens
• Better phrased as: When to use JWT vs Opaque Oauth 2.0 tokens?
• Federation
• When you want the client to know everything that is being claimed
• JWT implies minimal impact to client and server apps
• JWT do not work well with revocation
23©2015 Apigee. All Rights Reserved.
• Re-usable now in any of your
Proxies
• Configure it with XML as any
other policy
• Generate JWE for use by
others
• Configurable Key strength and
key derivation
• Can be used by backends or
other systems called by
clients
• Can be consumed by Edge
itself
Java Callout for JWE Generation
24©2015 Apigee. All Rights Reserved.
https://github.com/apigee/iloveapis2015-jwt-jwe-jws
Java Callout for JWE Decryption
25©2015 Apigee. All Rights Reserved.
When to use JWS and JWE?
• Trick Question! Don’t ever use them!
• No, seriously.
• JWS and JWE imply some change to client apps
• More limited scope of usage than JWT
• There are already ways to sign and encrypt arbitrary data
• My opinion: JWE and JWS are mostly interesting in support of JWT
26©2015 Apigee. All Rights Reserved.
What did we learn?
27
APIs
Apps
Users
©2015 Apigee. All Rights Reserved.
• YOU NEED to handle JWT
• You can use JWT, JWS, JWE in
Apigee Edge today via custom policies
• No coding needed !
• These policies complement the
existing built-in policies in Apigee
Edgehttps://github.com/apigee/iloveapis2015-jwt-jwe-jws
©2016 Apigee Corp. All Rights Reserved.
Questions?
28
Thank you

More Related Content

PPTX
Mulesoft Anypoint platform introduction
gijish
 
PDF
Architecting an Enterprise API Management Strategy
WSO2
 
PDF
Introduction to Kong API Gateway
Yohann Ciurlik
 
PDF
API strategy with IBM API connect
Kellton Tech Solutions Ltd
 
PPTX
Apigee Edge Overview and Roadmap
Apigee | Google Cloud
 
PPTX
Apigee Edge Product Demo
Apigee | Google Cloud
 
PPTX
MuleSoft's Approach to Driving Customer Outcomes
MuleSoft
 
PPTX
API Strategy Introduction
Doug Gregory
 
Mulesoft Anypoint platform introduction
gijish
 
Architecting an Enterprise API Management Strategy
WSO2
 
Introduction to Kong API Gateway
Yohann Ciurlik
 
API strategy with IBM API connect
Kellton Tech Solutions Ltd
 
Apigee Edge Overview and Roadmap
Apigee | Google Cloud
 
Apigee Edge Product Demo
Apigee | Google Cloud
 
MuleSoft's Approach to Driving Customer Outcomes
MuleSoft
 
API Strategy Introduction
Doug Gregory
 

What's hot (20)

PDF
IBM API Connect - overview
Ramy Bassem
 
KEY
Pragmatic RESTful API Design: Apigee Webinar
Apigee | Google Cloud
 
PDF
Introduction to MuleSoft
Salesforce Developers
 
PDF
MuleSoft Surat Meetup#41 - Universal API Management, Anypoint Flex Gateway an...
Jitendra Bafna
 
ODP
Kong API Gateway
Chris Mague
 
PDF
API for Beginners
Gustavo De Vita
 
PPTX
What’s Mule 4.3? How Does Anytime RTF Help? Our insights explain.
Kellton Tech Solutions Ltd
 
PDF
MuleSoft Anypoint Platform and Three Tier Architecture
Harish Kumar
 
PPTX
Api types
Sarah Maddox
 
PDF
IBM Datapower Security Scenarios - Using JWT to secure microservices
sandipg123
 
PDF
Apigee Demo: API Platform Overview
Apigee | Google Cloud
 
PPTX
API Security Lifecycle
Apigee | Google Cloud
 
PPT
INTRODUCTION TO IIS
sanya6900
 
PPTX
Gateway/APIC security
Shiu-Fun Poon
 
PDF
Api Gateway
KhaqanAshraf
 
PPT
API Strategy Presentation
Lawrence Coburn
 
PPTX
Introduction to ibm cloud paks concept license and minimum config public
Petchpaitoon Krungwong
 
PPTX
Introduction to MuleSoft
Alexandra N. Martinez
 
PPTX
Api-First service design
Stefaan Ponnet
 
PPTX
SAP Integration with MuleSoft | MuleSoft Mysore Meetup #14
MysoreMuleSoftMeetup
 
IBM API Connect - overview
Ramy Bassem
 
Pragmatic RESTful API Design: Apigee Webinar
Apigee | Google Cloud
 
Introduction to MuleSoft
Salesforce Developers
 
MuleSoft Surat Meetup#41 - Universal API Management, Anypoint Flex Gateway an...
Jitendra Bafna
 
Kong API Gateway
Chris Mague
 
API for Beginners
Gustavo De Vita
 
What’s Mule 4.3? How Does Anytime RTF Help? Our insights explain.
Kellton Tech Solutions Ltd
 
MuleSoft Anypoint Platform and Three Tier Architecture
Harish Kumar
 
Api types
Sarah Maddox
 
IBM Datapower Security Scenarios - Using JWT to secure microservices
sandipg123
 
Apigee Demo: API Platform Overview
Apigee | Google Cloud
 
API Security Lifecycle
Apigee | Google Cloud
 
INTRODUCTION TO IIS
sanya6900
 
Gateway/APIC security
Shiu-Fun Poon
 
Api Gateway
KhaqanAshraf
 
API Strategy Presentation
Lawrence Coburn
 
Introduction to ibm cloud paks concept license and minimum config public
Petchpaitoon Krungwong
 
Introduction to MuleSoft
Alexandra N. Martinez
 
Api-First service design
Stefaan Ponnet
 
SAP Integration with MuleSoft | MuleSoft Mysore Meetup #14
MysoreMuleSoftMeetup
 
Ad

Similar to Advanced Security Extensions in Apigee Edge: JWT, JWE, JWS (20)

PDF
I Love APIs 2015: Advanced Security Extensions in Apigee Edge - JWT, JWE, JWS
Apigee | Google Cloud
 
PDF
Webcast: Deep-Dive Apigee Edge Microgateway
Apigee | Google Cloud
 
PPTX
APIdays London 2020: Toward certifying Financial-grade API security profile w...
Hitachi, Ltd. OSS Solution Center.
 
PDF
Using containerization to enable your microservice architecture
Apigee | Google Cloud
 
PPT
Modernizing an Existing SOA-based Architecture with APIs
Apigee | Google Cloud
 
PDF
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager
WSO2
 
PPTX
apidays LIVE LONDON - Toward certifying Financial-grade API profile with Keyc...
apidays
 
PPT
Moving the Guidewire platform to OSGi - Paul D'Albora
mfrancis
 
PDF
Implementing security requirements for banking API system using Open Source ...
Yuichi Nakamura
 
PDF
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
CloudIDSummit
 
PPTX
Webinar: ForgeRock Identity Platform Preview (Dec 2015)
ForgeRock
 
PPTX
How to Build an Effective API Security Strategy
Nordic APIs
 
PDF
Open Source & What It Means For Self-Sovereign Identity (SSI)
Evernym
 
PDF
Finally, EE Security API JSR 375
Alex Kosowski
 
PDF
Java SE Subscription Workshop
MarketingArrowECS_CZ
 
PDF
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
Apigee | Google Cloud
 
PDF
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
Neo4j
 
PPTX
How to Build an Effective API Security Strategy
Nordic APIs
 
PDF
Microsoft power point automation-opensourcetestingtools_matrix-1
tactqa
 
PDF
Microsoft power point automation-opensourcetestingtools_matrix-1
tactqa
 
I Love APIs 2015: Advanced Security Extensions in Apigee Edge - JWT, JWE, JWS
Apigee | Google Cloud
 
Webcast: Deep-Dive Apigee Edge Microgateway
Apigee | Google Cloud
 
APIdays London 2020: Toward certifying Financial-grade API security profile w...
Hitachi, Ltd. OSS Solution Center.
 
Using containerization to enable your microservice architecture
Apigee | Google Cloud
 
Modernizing an Existing SOA-based Architecture with APIs
Apigee | Google Cloud
 
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager
WSO2
 
apidays LIVE LONDON - Toward certifying Financial-grade API profile with Keyc...
apidays
 
Moving the Guidewire platform to OSGi - Paul D'Albora
mfrancis
 
Implementing security requirements for banking API system using Open Source ...
Yuichi Nakamura
 
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
CloudIDSummit
 
Webinar: ForgeRock Identity Platform Preview (Dec 2015)
ForgeRock
 
How to Build an Effective API Security Strategy
Nordic APIs
 
Open Source & What It Means For Self-Sovereign Identity (SSI)
Evernym
 
Finally, EE Security API JSR 375
Alex Kosowski
 
Java SE Subscription Workshop
MarketingArrowECS_CZ
 
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
Apigee | Google Cloud
 
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
Neo4j
 
How to Build an Effective API Security Strategy
Nordic APIs
 
Microsoft power point automation-opensourcetestingtools_matrix-1
tactqa
 
Microsoft power point automation-opensourcetestingtools_matrix-1
tactqa
 
Ad

More from Apigee | Google Cloud (20)

PDF
How Secure Are Your APIs?
Apigee | Google Cloud
 
PDF
Magazine Luiza at a glance (1)
Apigee | Google Cloud
 
PPTX
Monetization: Unlock More Value from Your APIs
Apigee | Google Cloud
 
PDF
Ticketmaster at a glance
Apigee | Google Cloud
 
PDF
AccuWeather: Recasting API Experiences in a Developer-First World
Apigee | Google Cloud
 
PDF
Which Application Modernization Pattern Is Right For You?
Apigee | Google Cloud
 
PPTX
Apigee Product Roadmap Part 2
Apigee | Google Cloud
 
PPTX
The Four Transformative Forces of the API Management Market
Apigee | Google Cloud
 
PDF
Walgreens at a glance
Apigee | Google Cloud
 
PDF
Apigee Edge: Intro to Microgateway
Apigee | Google Cloud
 
PDF
Managing the Complexity of Microservices Deployments
Apigee | Google Cloud
 
PDF
Pitney Bowes at a glance
Apigee | Google Cloud
 
PPTX
Microservices Done Right: Key Ingredients for Microservices Success
Apigee | Google Cloud
 
PDF
Adapt or Die: Opening Keynote with Chet Kapoor
Apigee | Google Cloud
 
PDF
Adapt or Die: Keynote with Greg Brail
Apigee | Google Cloud
 
PDF
Adapt or Die: Keynote with Anant Jhingran
Apigee | Google Cloud
 
PDF
London Adapt or Die: Opening Keynot
Apigee | Google Cloud
 
PDF
London Adapt or Die: Lunch keynote
Apigee | Google Cloud
 
PDF
London Adapt or Die: Closing Keynote — Adapt Now!
Apigee | Google Cloud
 
PPTX
London adapt or-die opening keynote chet kapoor
Apigee | Google Cloud
 
How Secure Are Your APIs?
Apigee | Google Cloud
 
Magazine Luiza at a glance (1)
Apigee | Google Cloud
 
Monetization: Unlock More Value from Your APIs
Apigee | Google Cloud
 
Ticketmaster at a glance
Apigee | Google Cloud
 
AccuWeather: Recasting API Experiences in a Developer-First World
Apigee | Google Cloud
 
Which Application Modernization Pattern Is Right For You?
Apigee | Google Cloud
 
Apigee Product Roadmap Part 2
Apigee | Google Cloud
 
The Four Transformative Forces of the API Management Market
Apigee | Google Cloud
 
Walgreens at a glance
Apigee | Google Cloud
 
Apigee Edge: Intro to Microgateway
Apigee | Google Cloud
 
Managing the Complexity of Microservices Deployments
Apigee | Google Cloud
 
Pitney Bowes at a glance
Apigee | Google Cloud
 
Microservices Done Right: Key Ingredients for Microservices Success
Apigee | Google Cloud
 
Adapt or Die: Opening Keynote with Chet Kapoor
Apigee | Google Cloud
 
Adapt or Die: Keynote with Greg Brail
Apigee | Google Cloud
 
Adapt or Die: Keynote with Anant Jhingran
Apigee | Google Cloud
 
London Adapt or Die: Opening Keynot
Apigee | Google Cloud
 
London Adapt or Die: Lunch keynote
Apigee | Google Cloud
 
London Adapt or Die: Closing Keynote — Adapt Now!
Apigee | Google Cloud
 
London adapt or-die opening keynote chet kapoor
Apigee | Google Cloud
 

Recently uploaded (20)

PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PDF
Software Development Methodologies in 2025
KodekX
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Doc9.....................................
SofiaCollazos
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
The Future of Artificial Intelligence (AI)
Mukul
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
Software Development Methodologies in 2025
KodekX
 

Advanced Security Extensions in Apigee Edge: JWT, JWE, JWS

  • 1. ©2016 Apigee Corp. All Rights Reserved.
  • 4. 4 What do these companies have in common?
  • 5. All are supporting OpenID Connect and JWT. 5
  • 6. Authentication and Authorization is hard. Many systems do it poorly. (Do YOU provide 2FA ?) JWT and OpenID Connect will help solve that problem. You need to get JWT, now. 6
  • 8. JWS, JWE, JWT are all part of JOSE: “JSON Object Signing and Encryption” 8
  • 9. JWT Enables Federated Identity 9©2015 Apigee. All Rights Reserved. Internal Client Application Authentication Server (aka Identity Provider, IdP) API Proxy User store Login Create JWT (Signed) JWT Data Public Key Internal Systems JWT Data JWT Data Data JWT Validate Validate Validate Validate
  • 10. JWT Integrates with external Identity Providers 10©2015 Apigee. All Rights Reserved. Partner Application’s Authentication Server (aka Identity Provider, IdP) API Proxy User store Login JWT (Signed) JWT JWT Data JWT Data Data Public Key Validat e 1 2 3 4 5 6 7 Internal or Partner Systems
  • 11. • JWS – Signature IETF RFC 7515 https://tools.ietf.org/html /rfc7515 • JSON representation of Signed or HMAC’ed Content • Payload that is signed need not be JSON! • The resulting JWS can be verified by receivers • JWE – Encryption IETF RFC 7516 https://tools.ietf.org/ht ml/rfc7516 • JSON representation of Encrypted content • Payload that is encrypted need not be JSON • Resulting JWE Can be decrypted by receivers JSON Web Token, Signature, Encryption 11 • JWT – Token IETF RFC 7519 https://tools.ietf.org/ht ml/rfc7519 • Signed, or optionally, Encrypted, set of claims. • Issuer, Subject, audience, issue time, not- before time, expiration. • Used as a BEARER token • “Self-validating” • Receiving parties can make decisions based on the claims and signing party, or encrypting party. ©2015 Apigee. All Rights Reserved.
  • 12. • JWS – Signature IETF RFC 7515 https://tools.ietf.org/html /rfc7515 • JSON representation of Signed or HMAC’ed Content • Payload that is signed need not be JSON! • The resulting JWS can be verified by receivers • JWE – Encryption IETF RFC 7516 https://tools.ietf.org/ht ml/rfc7516 • JSON representation of Encrypted content • Payload that is encrypted need not be JSON • Resulting JWE Can be decrypted by receivers JSON Web Token, Signature, Encryption 12 • JWT – Token IETF RFC 7519 https://tools.ietf.org/ht ml/rfc7519 • Signed, or optionally, Encrypted, set of claims. • Issuer, Subject, audience, issue time, not- before time, expiration. • Used as a BEARER token • “Self-validating” • Receiving parties can make decisions based on the claims and signing party, or encrypting party. ©2015 Apigee. All Rights Reserved.
  • 13. Demo: Azure AD JWT and JWT.io 13
  • 14. Apigee Edge includes standard policies for many security tasks. Oauth1.0a generation and verification, Oauth2 generation and verification, SAML generation and verification… 14
  • 15. Apigee Edge does not yet include standard policies for JWT, JWE, JWS 15
  • 16. But … Code + Configure ! 16
  • 17. • Embed your Java code as a policy in Apigee Edge • One Interface, one method, 2 parameters • Can read policy configuration • Can read and write context variables • …anchor anywhere in Edge policy flow • One of the ways to extend Edge with custom code. Also JavaScript, Python, nodejs. • RTFM: http://apigee.com/docs/api- services/reference/java-callout-policy What are Java Callouts? 17©2015 Apigee. All Rights Reserved.
  • 18. • Re-usable now in any of your Proxies • Configure it with XML as any other policy • Make decisions based on embedded claims • Can read JWT generated by third parties, such as Google or Windows Azure Java Callout for JWT Parse/Verification 18©2015 Apigee. All Rights Reserved. https://github.com/apigee/iloveapis2015-jwt-jwe-jws
  • 19. • Re-usable now in any of your Proxies • Configure it with XML as any other policy • Generate JWT for use by others • Can be used by backends or other systems called by clients • Can be consumed by Edge itself Java Callout for JWT Generation 19©2015 Apigee. All Rights Reserved.
  • 21. Some comments • This JWT policy handles Signed, not Encrypted JWT • RS256 and HS256 are supported • We have a different policy that produces Encrypted JWT (JWE) using RS256 • JWT cannot be “revoked” – so limit your lifetimes • Exercise for the reader: –ES256, other algorithms 21©2015 Apigee. All Rights Reserved.
  • 22. When to use JWT vs Oauth 2.0 tokens? 22
  • 23. When to use JWT vs Oauth 2.0 tokens? • Trick Question! JWT are OAuth2.0 tokens • Better phrased as: When to use JWT vs Opaque Oauth 2.0 tokens? • Federation • When you want the client to know everything that is being claimed • JWT implies minimal impact to client and server apps • JWT do not work well with revocation 23©2015 Apigee. All Rights Reserved.
  • 24. • Re-usable now in any of your Proxies • Configure it with XML as any other policy • Generate JWE for use by others • Configurable Key strength and key derivation • Can be used by backends or other systems called by clients • Can be consumed by Edge itself Java Callout for JWE Generation 24©2015 Apigee. All Rights Reserved. https://github.com/apigee/iloveapis2015-jwt-jwe-jws
  • 25. Java Callout for JWE Decryption 25©2015 Apigee. All Rights Reserved.
  • 26. When to use JWS and JWE? • Trick Question! Don’t ever use them! • No, seriously. • JWS and JWE imply some change to client apps • More limited scope of usage than JWT • There are already ways to sign and encrypt arbitrary data • My opinion: JWE and JWS are mostly interesting in support of JWT 26©2015 Apigee. All Rights Reserved.
  • 27. What did we learn? 27 APIs Apps Users ©2015 Apigee. All Rights Reserved. • YOU NEED to handle JWT • You can use JWT, JWS, JWE in Apigee Edge today via custom policies • No coding needed ! • These policies complement the existing built-in policies in Apigee Edgehttps://github.com/apigee/iloveapis2015-jwt-jwe-jws
  • 28. ©2016 Apigee Corp. All Rights Reserved. Questions? 28

Editor's Notes

  • #3: With that , it is time for introductions, This is Aashima Gupta , I lead the healthcare vertical for Apigee with focus on API and Analytics. In this role ,I closely working with marque clients inclding payers , providers and pharmas in helping them with digital health strategy acceleratio and also n in identifying transformative opportunities ( FHIR being one of them) Prior to joining the firm ,I was leading the Digital Health Incubations at Kaiser and drove innovation around multitude of digital channels including launch of the Lifestyle integration platform and first public API for kaiser.
  • #10: Vinit will talk to this slide. Move blocks around to fit. Which big vendors are supporting this? Facebook, Azure, Salesforce… (Verify)
  • #11: Vinit will talk to this slide. Move blocks around to fit. Which big vendors are supporting this? Facebook, Azure, Salesforce… (Verify)
  • #12: JWK – JSON Web Key - RFC 7517 JWA – JSON Web Algorithms – RFC 7518
  • #13: JWK – JSON Web Key - RFC 7517 JWA – JSON Web Algorithms – RFC 7518