SlideShare a Scribd company logo
1 of 9
Download to read offline
OAuth2
Framework
  A labs.ericsson.com API
http://labs.ericsson.com/apis/oauth2-framework/
OAuth2 Framework
› The OAuth2 framework provides OAuth 2.0 library and
  code samples
      – in order to create a client web application, an OAuth protected
        web resource or even a full fledged Authorization Server.

› It is an implementation of the latest IETF web
  authorization draft. (Soon to be RFC)

› The framework is implemented in Java on top of
  Restlet.org HTTP framework.
      – It can execute on all platforms that Restlet is available on and it is
        validated using Java SE, EE and Android.
      – Donated to Restlet.org as an open source project with very
        generous open source license for reuse.

© Ericsson AB 2010 | Page 2
WHY OAuth2?
› The Oauth2 framework enables security on the web where
  information can easily and securely be exchanged.
      – At the same time we want you to spend less time re-creating
        something that actually does not add value to your service concept.


› It is also a platform with extension that can make it even
  easier for the developer to experiment with using
      – an Authorization Server API
      – an OAuth discovery API
      – a hosted service where the interoperability can be tested and in this
        way make the service more robust and secure.




© Ericsson AB 2010 | Page 3
Main Features
› Support for following authorization flows
      – Web service, user agent, autonomous, user/password
      – Support for unlimited token and time expire tokens
      – Flexible user data model with a provided in memory BE
      – OpenID for authentication
      – Access to all the source code with open source
      – Automated Unit tests
      – Soon Available from Restlet Maven repository




© Ericsson AB 2010 | Page 4
OAuth2 Overview

                                                                   Protected
                                                Scope              Resource
                        ClientID
                        ClientSecret
                                              Authorization        Resource
                        CallbackURI
                                                 Server             Server
                                       Code
            Webclient
        (service provider)                                    OauthToken


                                                      Authenticate
                                                      Authorize

                                               Browser


© Ericsson AB 2010 | Page 5
Protected resource
› Example of a protected resource use of API



public class ProtectApplication extends Application {

    @Override
    public synchronized Restlet createInboundRoot() {
      Router router = new Router(getContext());
      RemoteAuthorizer auth = new RemoteAuthorizer(
        "http://localhost:8080/oauth/validate",
        "http://localhost:8080/oauth/authorize");

        auth.setNext(ProtectedResource.class);
        //Defines only one route
        router.attach("/me", auth);
        return router;
    }
}



© Ericsson AB 2010 | Page 6
Web Client
› Example of an oauth web client use of API
public class ProxyApplication extends Application {

    @Override
    public synchronized Restlet createInboundRoot() {
      Router router = new Router(getContext());
      OAuthParameters params = new OAuthParameters(
        "1234567890",
        "secret1",
        "http://localhost:8080/oauth/",
        "foo bar");

        OAuthProxy local = new OAuthProxy(params,getContext());

        local.setNext(MeResourceClient.class);
        router.attach("/local",local);
        return router;
    }
}



© Ericsson AB 2010 | Page 7
Example applications
                                       Desktop

                              Mobile




© Ericsson AB 2010 | Page 8
© Ericsson AB 2010 | Page 9

More Related Content

What's hot

Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...
Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...
Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...
Hermann Burgmeier
 
Distributed cache service
Distributed cache serviceDistributed cache service
Distributed cache service
prajeeshprathap
 

What's hot (20)

Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...
Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...
Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...
 
ConFoo 2015 - Securing RESTful resources with OAuth2
ConFoo 2015 - Securing RESTful resources with OAuth2ConFoo 2015 - Securing RESTful resources with OAuth2
ConFoo 2015 - Securing RESTful resources with OAuth2
 
CIS 2012 - Going Mobile with PingFederate and OAuth 2
CIS 2012 - Going Mobile with PingFederate and OAuth 2CIS 2012 - Going Mobile with PingFederate and OAuth 2
CIS 2012 - Going Mobile with PingFederate and OAuth 2
 
Deep Dive into Keystone Tokens and Lessons Learned
Deep Dive into Keystone Tokens and Lessons LearnedDeep Dive into Keystone Tokens and Lessons Learned
Deep Dive into Keystone Tokens and Lessons Learned
 
CIS14: Consolidating Authorization for API and Web SSO using OpenID Connect
CIS14: Consolidating Authorization for API and Web SSO using OpenID ConnectCIS14: Consolidating Authorization for API and Web SSO using OpenID Connect
CIS14: Consolidating Authorization for API and Web SSO using OpenID Connect
 
Modern Security with OAuth 2.0 and JWT and Spring by Dmitry Buzdin
Modern Security with OAuth 2.0 and JWT and Spring by Dmitry BuzdinModern Security with OAuth 2.0 and JWT and Spring by Dmitry Buzdin
Modern Security with OAuth 2.0 and JWT and Spring by Dmitry Buzdin
 
Secure Keystone Deployment
Secure Keystone DeploymentSecure Keystone Deployment
Secure Keystone Deployment
 
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio TavillaOpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
 
Keystone: Federated
Keystone: FederatedKeystone: Federated
Keystone: Federated
 
Securing your APIs with OAuth, OpenID, and OpenID Connect
Securing your APIs with OAuth, OpenID, and OpenID ConnectSecuring your APIs with OAuth, OpenID, and OpenID Connect
Securing your APIs with OAuth, OpenID, and OpenID Connect
 
CIS 2015 OpenID Connect and Mobile Applications - David Chase
CIS 2015 OpenID Connect and Mobile Applications - David ChaseCIS 2015 OpenID Connect and Mobile Applications - David Chase
CIS 2015 OpenID Connect and Mobile Applications - David Chase
 
Integration on windows azure
Integration on windows azureIntegration on windows azure
Integration on windows azure
 
LASCON 2017: SAML v. OpenID v. Oauth
LASCON 2017: SAML v. OpenID v. OauthLASCON 2017: SAML v. OpenID v. Oauth
LASCON 2017: SAML v. OpenID v. Oauth
 
K8s Webhook Admission
K8s Webhook AdmissionK8s Webhook Admission
K8s Webhook Admission
 
Distributed cache service
Distributed cache serviceDistributed cache service
Distributed cache service
 
Neo-security Stack
Neo-security StackNeo-security Stack
Neo-security Stack
 
Keystone Federation
Keystone Federation Keystone Federation
Keystone Federation
 
Keystone - Openstack Identity Service
Keystone - Openstack Identity Service Keystone - Openstack Identity Service
Keystone - Openstack Identity Service
 
OpenStack Keystone
OpenStack KeystoneOpenStack Keystone
OpenStack Keystone
 
OAuth 2.0
OAuth 2.0OAuth 2.0
OAuth 2.0
 

Viewers also liked

Capillary Networks integrates the machine and IoT devices as integral part of...
Capillary Networks integrates the machine and IoT devices as integral part of...Capillary Networks integrates the machine and IoT devices as integral part of...
Capillary Networks integrates the machine and IoT devices as integral part of...
Ericsson Labs
 
Ericsson 5 g at mobile world congress 2014
Ericsson 5 g at mobile world congress 2014 Ericsson 5 g at mobile world congress 2014
Ericsson 5 g at mobile world congress 2014
Ericsson Labs
 
5G Cloud RAN & IoT Architecture
5G Cloud RAN & IoT Architecture5G Cloud RAN & IoT Architecture
5G Cloud RAN & IoT Architecture
Sathiya keerthi
 

Viewers also liked (11)

Aggregating IOT data for operators NFV cloud
Aggregating IOT data for operators NFV cloudAggregating IOT data for operators NFV cloud
Aggregating IOT data for operators NFV cloud
 
Capillary Networks integrates the machine and IoT devices as integral part of...
Capillary Networks integrates the machine and IoT devices as integral part of...Capillary Networks integrates the machine and IoT devices as integral part of...
Capillary Networks integrates the machine and IoT devices as integral part of...
 
Ericsson 5 g at mobile world congress 2014
Ericsson 5 g at mobile world congress 2014 Ericsson 5 g at mobile world congress 2014
Ericsson 5 g at mobile world congress 2014
 
Software Defined Networks (SDN) and Cloud Computing in 5G Wireless Technologies
Software Defined Networks (SDN) and Cloud Computing in 5G Wireless TechnologiesSoftware Defined Networks (SDN) and Cloud Computing in 5G Wireless Technologies
Software Defined Networks (SDN) and Cloud Computing in 5G Wireless Technologies
 
Smart Cities, IoT, SDN, 5G Networks, Cloud Computing… Managing Complexity wit...
Smart Cities, IoT, SDN, 5G Networks, Cloud Computing… Managing Complexity wit...Smart Cities, IoT, SDN, 5G Networks, Cloud Computing… Managing Complexity wit...
Smart Cities, IoT, SDN, 5G Networks, Cloud Computing… Managing Complexity wit...
 
Scaling Internet of Things
Scaling Internet of ThingsScaling Internet of Things
Scaling Internet of Things
 
IoT and 5G: Opportunities and Challenges, SenZations 2015
IoT and 5G: Opportunities and Challenges, SenZations 2015IoT and 5G: Opportunities and Challenges, SenZations 2015
IoT and 5G: Opportunities and Challenges, SenZations 2015
 
Internet of Things - Advantech IoT Gateway Starter Kit
Internet of Things - Advantech IoT Gateway Starter KitInternet of Things - Advantech IoT Gateway Starter Kit
Internet of Things - Advantech IoT Gateway Starter Kit
 
Kura M2M IoT Gateway
Kura M2M IoT GatewayKura M2M IoT Gateway
Kura M2M IoT Gateway
 
5G Cloud RAN & IoT Architecture
5G Cloud RAN & IoT Architecture5G Cloud RAN & IoT Architecture
5G Cloud RAN & IoT Architecture
 
Jasper, Internet of Things
Jasper, Internet of ThingsJasper, Internet of Things
Jasper, Internet of Things
 

Similar to OAuth2 on Ericsson Labs

Pentesting web applications
Pentesting web applicationsPentesting web applications
Pentesting web applications
Satish b
 

Similar to OAuth2 on Ericsson Labs (20)

OAuth with AngularJS and WebAPI - SoCal Code Camp 2015
OAuth with AngularJS and WebAPI - SoCal Code Camp 2015OAuth with AngularJS and WebAPI - SoCal Code Camp 2015
OAuth with AngularJS and WebAPI - SoCal Code Camp 2015
 
Oauth Nightmares Abstract OAuth Nightmares
Oauth Nightmares Abstract OAuth Nightmares Oauth Nightmares Abstract OAuth Nightmares
Oauth Nightmares Abstract OAuth Nightmares
 
AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"
AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"
AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"
 
CCICI CIP 1.0 Testbed - Security access implementation and reference - v1.0
CCICI CIP 1.0 Testbed - Security access implementation and reference - v1.0CCICI CIP 1.0 Testbed - Security access implementation and reference - v1.0
CCICI CIP 1.0 Testbed - Security access implementation and reference - v1.0
 
Enterprise Access Control Patterns for Rest and Web APIs
Enterprise Access Control Patterns for Rest and Web APIsEnterprise Access Control Patterns for Rest and Web APIs
Enterprise Access Control Patterns for Rest and Web APIs
 
OAuth 2.0 and Library
OAuth 2.0 and LibraryOAuth 2.0 and Library
OAuth 2.0 and Library
 
JavaOne 2014 - Securing RESTful Resources with OAuth2
JavaOne 2014 - Securing RESTful Resources with OAuth2JavaOne 2014 - Securing RESTful Resources with OAuth2
JavaOne 2014 - Securing RESTful Resources with OAuth2
 
Survey on Restful Web Services Using Open Authorization (Oauth)I01545356
Survey on Restful Web Services Using Open Authorization (Oauth)I01545356Survey on Restful Web Services Using Open Authorization (Oauth)I01545356
Survey on Restful Web Services Using Open Authorization (Oauth)I01545356
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
 
Pentesting web applications
Pentesting web applicationsPentesting web applications
Pentesting web applications
 
Adding Identity Management and Access Control to your App
Adding Identity Management and Access Control to your AppAdding Identity Management and Access Control to your App
Adding Identity Management and Access Control to your App
 
OAuth in the Real World featuring Webshell
OAuth in the Real World featuring WebshellOAuth in the Real World featuring Webshell
OAuth in the Real World featuring Webshell
 
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
 
When and Why Would I use Oauth2?
When and Why Would I use Oauth2?When and Why Would I use Oauth2?
When and Why Would I use Oauth2?
 
Introduction to OAuth2.0
Introduction to OAuth2.0Introduction to OAuth2.0
Introduction to OAuth2.0
 
Adding identity management and access control to your app
Adding identity management and access control to your appAdding identity management and access control to your app
Adding identity management and access control to your app
 
OAuth2
OAuth2OAuth2
OAuth2
 
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
 
Oauth2.0
Oauth2.0Oauth2.0
Oauth2.0
 

More from Ericsson Labs

5G for the Networked Society beyond 2020
5G for the Networked Society beyond 20205G for the Networked Society beyond 2020
5G for the Networked Society beyond 2020
Ericsson Labs
 
3D visual communication
3D visual communication3D visual communication
3D visual communication
Ericsson Labs
 
Openflow Stanford University - Ericsson Collaboration
Openflow Stanford University - Ericsson CollaborationOpenflow Stanford University - Ericsson Collaboration
Openflow Stanford University - Ericsson Collaboration
Ericsson Labs
 
Federated Networked Cloud
Federated Networked CloudFederated Networked Cloud
Federated Networked Cloud
Ericsson Labs
 
Technology Challenges in the Networked Society
Technology Challenges in the Networked SocietyTechnology Challenges in the Networked Society
Technology Challenges in the Networked Society
Ericsson Labs
 
The Connected Megacity
The Connected MegacityThe Connected Megacity
The Connected Megacity
Ericsson Labs
 
The Networked Society
The Networked SocietyThe Networked Society
The Networked Society
Ericsson Labs
 
Stream analytics for churn prediction from Ericsson Research
Stream analytics for churn prediction from Ericsson ResearchStream analytics for churn prediction from Ericsson Research
Stream analytics for churn prediction from Ericsson Research
Ericsson Labs
 

More from Ericsson Labs (20)

Evolved Cloud Collaboration Presentation at MWC14 by Ericsson Research
Evolved Cloud Collaboration Presentation at MWC14 by Ericsson Research Evolved Cloud Collaboration Presentation at MWC14 by Ericsson Research
Evolved Cloud Collaboration Presentation at MWC14 by Ericsson Research
 
NoSQL Slideshare Presentation
NoSQL Slideshare Presentation NoSQL Slideshare Presentation
NoSQL Slideshare Presentation
 
Ericsson Application Awards 2014
Ericsson Application Awards 2014Ericsson Application Awards 2014
Ericsson Application Awards 2014
 
5G for the Networked Society beyond 2020
5G for the Networked Society beyond 20205G for the Networked Society beyond 2020
5G for the Networked Society beyond 2020
 
3D visual communication
3D visual communication3D visual communication
3D visual communication
 
Openflow Stanford University - Ericsson Collaboration
Openflow Stanford University - Ericsson CollaborationOpenflow Stanford University - Ericsson Collaboration
Openflow Stanford University - Ericsson Collaboration
 
Federated Networked Cloud
Federated Networked CloudFederated Networked Cloud
Federated Networked Cloud
 
Exploring Big Data
Exploring Big DataExploring Big Data
Exploring Big Data
 
Technology Challenges in the Networked Society
Technology Challenges in the Networked SocietyTechnology Challenges in the Networked Society
Technology Challenges in the Networked Society
 
The Connected Megacity
The Connected MegacityThe Connected Megacity
The Connected Megacity
 
The Networked Society
The Networked SocietyThe Networked Society
The Networked Society
 
Towards Timely Efficient Semantic Reasoning for the Networked Society
Towards Timely Efficient Semantic Reasoning for the Networked SocietyTowards Timely Efficient Semantic Reasoning for the Networked Society
Towards Timely Efficient Semantic Reasoning for the Networked Society
 
Web Connectivity on Ericsson Labs
Web Connectivity on Ericsson LabsWeb Connectivity on Ericsson Labs
Web Connectivity on Ericsson Labs
 
Stream analytics for churn prediction from Ericsson Research
Stream analytics for churn prediction from Ericsson ResearchStream analytics for churn prediction from Ericsson Research
Stream analytics for churn prediction from Ericsson Research
 
Geo Location Messaging on Ericsson Labs
Geo Location Messaging on Ericsson LabsGeo Location Messaging on Ericsson Labs
Geo Location Messaging on Ericsson Labs
 
An Overview of All Ericsson Labs APIs
An Overview of All Ericsson Labs APIsAn Overview of All Ericsson Labs APIs
An Overview of All Ericsson Labs APIs
 
Over the Air 2011 Security Workshop
Over the Air 2011 Security Workshop Over the Air 2011 Security Workshop
Over the Air 2011 Security Workshop
 
Mobile Monday Athens 111003
Mobile Monday Athens 111003Mobile Monday Athens 111003
Mobile Monday Athens 111003
 
Mobile Monday London M2M Event 110516
Mobile Monday London M2M Event 110516Mobile Monday London M2M Event 110516
Mobile Monday London M2M Event 110516
 
Distributed Shared Memory on Ericsson Labs
Distributed Shared Memory on Ericsson LabsDistributed Shared Memory on Ericsson Labs
Distributed Shared Memory on Ericsson Labs
 

Recently uploaded

Recently uploaded (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

OAuth2 on Ericsson Labs

  • 1. OAuth2 Framework A labs.ericsson.com API http://labs.ericsson.com/apis/oauth2-framework/
  • 2. OAuth2 Framework › The OAuth2 framework provides OAuth 2.0 library and code samples – in order to create a client web application, an OAuth protected web resource or even a full fledged Authorization Server. › It is an implementation of the latest IETF web authorization draft. (Soon to be RFC) › The framework is implemented in Java on top of Restlet.org HTTP framework. – It can execute on all platforms that Restlet is available on and it is validated using Java SE, EE and Android. – Donated to Restlet.org as an open source project with very generous open source license for reuse. © Ericsson AB 2010 | Page 2
  • 3. WHY OAuth2? › The Oauth2 framework enables security on the web where information can easily and securely be exchanged. – At the same time we want you to spend less time re-creating something that actually does not add value to your service concept. › It is also a platform with extension that can make it even easier for the developer to experiment with using – an Authorization Server API – an OAuth discovery API – a hosted service where the interoperability can be tested and in this way make the service more robust and secure. © Ericsson AB 2010 | Page 3
  • 4. Main Features › Support for following authorization flows – Web service, user agent, autonomous, user/password – Support for unlimited token and time expire tokens – Flexible user data model with a provided in memory BE – OpenID for authentication – Access to all the source code with open source – Automated Unit tests – Soon Available from Restlet Maven repository © Ericsson AB 2010 | Page 4
  • 5. OAuth2 Overview Protected Scope Resource ClientID ClientSecret Authorization Resource CallbackURI Server Server Code Webclient (service provider) OauthToken Authenticate Authorize Browser © Ericsson AB 2010 | Page 5
  • 6. Protected resource › Example of a protected resource use of API public class ProtectApplication extends Application { @Override public synchronized Restlet createInboundRoot() { Router router = new Router(getContext()); RemoteAuthorizer auth = new RemoteAuthorizer( "http://localhost:8080/oauth/validate", "http://localhost:8080/oauth/authorize"); auth.setNext(ProtectedResource.class); //Defines only one route router.attach("/me", auth); return router; } } © Ericsson AB 2010 | Page 6
  • 7. Web Client › Example of an oauth web client use of API public class ProxyApplication extends Application { @Override public synchronized Restlet createInboundRoot() { Router router = new Router(getContext()); OAuthParameters params = new OAuthParameters( "1234567890", "secret1", "http://localhost:8080/oauth/", "foo bar"); OAuthProxy local = new OAuthProxy(params,getContext()); local.setNext(MeResourceClient.class); router.attach("/local",local); return router; } } © Ericsson AB 2010 | Page 7
  • 8. Example applications Desktop Mobile © Ericsson AB 2010 | Page 8
  • 9. © Ericsson AB 2010 | Page 9