10
IRM Summit 2014 ELECTRONIC DREAMS: The Rise of Machine to Machine Communication Dirk Hogan, Sr. Software Engineer, ForgeRock

Electric Dreams: The Rise of Machine to Machine Communication

Embed Size (px)

DESCRIPTION

A Breakout Session by Dirk Hogan, Sr. Software Engineer at ForgeRock at the 2014 IRM Summit in Phoenix, Arizona.

Citation preview

Page 1: Electric Dreams: The Rise of Machine to Machine Communication

IRM Summit 2014

ELECTRONIC DREAMS:The Rise of Machine to

Machine Communication

Dirk Hogan, Sr. Software Engineer,

ForgeRock

Page 2: Electric Dreams: The Rise of Machine to Machine Communication

2IRM Summit 2014

What is REST STS ?

Page 3: Electric Dreams: The Rise of Machine to Machine Communication

3IRM Summit 2014

What is REST STS ?

REST-based token transformation service, inspired by the Security Token Service defined in WS-Trust.

Page 4: Electric Dreams: The Rise of Machine to Machine Communication

4IRM Summit 2014

WS-Trust STS

Overly ambitious

Abstraction is lossy

Complexity

Interoperability challenges

SOAP / XML

Page 5: Electric Dreams: The Rise of Machine to Machine Communication

5IRM Summit 2014

REST STS

■ WS-Trust supports an explicit token transformation

■ WS-Trust supports an implicit token transformation

Building on WS-Trust

Why not make the implicit explicit ?

Page 6: Electric Dreams: The Rise of Machine to Machine Communication

6IRM Summit 2014

REST STS

■ Instead of a single (ambiguous) abstraction set to rule them all, why not specific, explicit json payloads defining a token transformation POSTed to RESTful endpoint?

Why Not Simplify ?

{ "input_token_state": { "token_type": "OPENIDCONNECT", "oidc_id_token": "eyZTQxODkzM2ZlMmQifQ.eyJpc3MiOiJhDA2OTM2NTJ9.enWa7YcxO6PsXMFQZXMuPn7o8PF5Cv71PNLcIQ" },"output_token_state": { "token_type": "SAML2", "serviceProviderAssertionConsumerServiceUrl":http://tomcat-host.dirk.internal.forgerock.com:8080/openam/Consumer/metaAlias/sp,"subjectConfirmation": "BEARER"}}

Page 7: Electric Dreams: The Rise of Machine to Machine Communication

7IRM Summit 2014

REST STS

■ Apache-CXF has all the elegant abstractions

Built On Apache-CXF STS

Why not re-skin CXF-STS ?

Why not replace SOAP/XML withREST/JSON ?

Open Source Rocks !!

Page 8: Electric Dreams: The Rise of Machine to Machine Communication

8IRM Summit 2014

REST STS

■ Heterogeneity in the identity space

■ Different services require different identity formats

■ Any combination of tokens validated and issued by OpenAM candidate for STS token transformation

Identity Meta-System

Page 9: Electric Dreams: The Rise of Machine to Machine Communication

9IRM Summit 2014

Why Does It Matter ?

Page 10: Electric Dreams: The Rise of Machine to Machine Communication

10IRM Summit 2014

Demo

Demo AppDemo App

4

0/73

6

2

5

1

OpenAM OpenAM

Legend:0: Publish STS Instance1: STS instance created2: Obtain OIDC ID Token3: Invoke STS OIDC->SAML24: OIDC token validation5: SAML2 Assertion Generation6: Present Assertion to Service Provider7: Un-publish REST STS instance