HOW TO MAKE A FULL FLEDGED REST API. with DJANGO OAUTH TOOLKIT

Size: px
Start display at page:

Download "HOW TO MAKE A FULL FLEDGED REST API. with DJANGO OAUTH TOOLKIT"

Transcription

1 HOW TO MAKE A FULL FLEDGED REST API with DJANGO OAUTH TOOLKIT

2 FEDERICO

3

4 GOALS OAuth2 protected REST API with Django

5 WHY?

6 INTRODUCING the marvelous TIMETRACKER

7 ONCE UPON A TIME... one tool single project deploy once and everything is fine... (more or less)

8 THE TIMES THEY ARE A-CHANGIN'

9 Web UIs evolve Smarter Users Multiple Devices to Support

10 APPLICATION MITOSIS! timetracker-backend timetracker-web timetracker-android timetracker-ios timetracker-desktop (linux, win, osx) moreover...

11 SERVICES ARE CONNECTED! Third party service want your user's data!

12 WHAT'S IN THE BACKEND? A service that expose an amazing and reliable REST API

13 THE REAL APP TIMETRACKER timetracker-backend timetracker-web timetracker-android timetracker-ios timetracker-desktop (linux, max, osx)

14 UI RECIPE Gumby css framework Ember.js javascript framework jquery No matter what you use.. it's a pain in the ass!

15 BACKEND RECIPE Django Django REST Framework Django OAuth Toolkit

16 MODELS class Activity(models.Model): name = models.charfield(max_length=100) description = models.textfield(blank=true) class TimeEntry(models.Model): activity = models.foreignkey(activity) user = models.foreignkey(settings.auth_user_model) description = models.textfield(blank=true) start = models.datetimefield(blank=true, null=true) end = models.datetimefield(blank=true, null=true)

17 API ENDPOINTS Url Methods Semantic /api/activities/ GET, POST list, create /api/activities/<id>/ GET, PUT/PATCH, DELETE detail, update, remove /api/tracks/ GET, POST list, create /api/tracks/<id>/ GET, PUT/PATCH, DELETE detail, update, remove

18 DEEP INTO DRF IN 5 MINUTES

19 SERIALIZE DATA class ActivitySerializer(serializers.Serializer): pk = serializers.field() name = serializers.charfield(max_length=100) description = serializers.charfield(required=false) def restore_object(self, attrs, instance=none): if instance: # Update existing instance instance.name = attrs.get('name', instance.name) instance.description = attrs.get('description', instance.description) return instance # Create new instance return Activity(**attrs) serializer = ActivitySerializer(activity) serializer.data # {'pk': 1, 'name': u'timetracker', 'description': u'workin on time tracker'}

20 SIMPLIFY! MODEL SERIALIZER class ActivitySerializer(serializers.ModelSerializer): class Meta: model = Activity

21 API ENDPOINTS VIEWS What do we need? respect REST semantic user authentication permissions checks (also object level permission) pagination response and request formatting it's a lot of stuff!

22 KEEP CALM AND USE DRF!

23 SETTINGS REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework.authentication.sessionauthentication', ), 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.isauthenticated', ), 'DEFAULT_RENDERER_CLASSES': ( 'rest_framework.renderers.jsonrenderer', ), 'DEFAULT_PARSER_CLASSES': ( 'rest_framework.parsers.jsonparser', ) }

24 APIVIEW class ActivityList(APIView): """ List all activities, or create a new activity. """ def get(self, request, format=none): activities = Activity.objects.all() serializer = ActivitySerializer(activities, many=true) return Response(serializer.data) def post(self, request, format=none): serializer = ActivitySerializer(data=request.DATA) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.http_201_created) return Response(serializer.errors, status=status.http_400_bad_request) urlpatterns = patterns('', url(r'^api/activities/$', ActivityList.as_view()), #... )

25 SIMPLIFY! GENERIC CLASS BASED VIEWS class ActivityList(generics.ListCreateAPIView): queryset = Activity.objects.all() serializer_class = ActivitySerializer class ActivityDetail(generics.RetrieveUpdateDestroyAPIView): queryset = Activity.objects.all() serializer_class = ActivitySerializer class TimeEntryList(generics.ListCreateAPIView): queryset = TimeEntry.objects.all() serializer_class = TimeEntrySerializer class TimeEntryDetail(generics.RetrieveUpdateDestroyAPIView): queryset = TimeEntry.objects.all() serializer_class = TimeEntrySerializer

26 LAZY DEVS? VIEWSETS class ActivityViewSet(viewsets.ModelViewSet): model = Activity class TimeEntryViewSet(viewsets.ModelViewSet): model = TimeEntry router = routers.defaultrouter() router.register(r'activities', ActivityViewSet) router.register(r'tracks', TimeEntryViewSet) urlpatterns = patterns('', url(r'^api/', include(router.urls)), )

27 BONUS! BUILTIN BROWSABLE API

28 HOW DO YOUR CLIENTS AUTHENTICATE? AND WHAT IF A THIRD PARTY APP WANTS TO ACCESS YOUR USER'S DATA??

29 PROBLEMS Store the user password in the app The app has a full access to user account User has to change his password to revoke the access Compromised apps expose the user password Reference:

30 THE OAUTH2 AUTHORIZATION FRAMEWORK How does it work?

31 USE CASE

32 ACTORS Resource Owner: The User Resource Server: Timetracker API Authorization Server: The same as the Resource Server Client: Songify App

33 STEPS Client registers with the Authorization Server The Authorization Server provides client id and client secret Client directs the Resource Owner to an authorization server via its user-agent The Authorization Server authenticates the Resource Owner and obtains authorization The Authorization Server directs the Resource Owner back to the client with the authorization code The Client exchange the authorization code for a token The token is used by the Client to authenticate requests

34 DJANGO OAUTH TOOLKIT Django 1.4, 1.5, 1.6, 1.7 Python2 & Python3 built on top of oauthlib

35 DOT AND DJANGO INSTALLED_APPS += ('oauth2_provider',) urlpatterns += patterns('', url(r'^o/', include('oauth2_provider.urls', namespace='oauth2_provider')), ) Create a protected endpoint from oauth2_provider.views.generic import ProtectedResourceView class ApiEndpoint(ProtectedResourceView): def get(self, request, *args, **kwargs): return HttpResponse('Protected with OAuth2!')

36 BATTERIES INCLUDED builtin views to register developer apps form view for user authorization

37 INTEGRATES WITH DRF REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'oauth2_provider.ext.rest_framework.oauth2authentication', ) }

38 LET'S TEST IT! Authorization endpoint Exchange the code curl -X POST -d "grant_type=authorization_code&code= &redirect_uri= Unauthenticated access curl Authenticated access curl -H "Authorization: Bearer "

39 FUTURE PLANS OAuth1 support OpenID connector NoSQL storages support HELP NEEDED

40 THANKS

The simple but powerful elegance of Django REST Framework. start

The simple but powerful elegance of Django REST Framework. start The simple but powerful elegance of Django REST Framework start Morten Barklund Full-stack Freelancer Rookie Pythonista Decent Djangoneer 2 Table of Contents 01 Django REST Framework 02 Permissions 03

More information

Django OAuth Toolkit Documentation

Django OAuth Toolkit Documentation Django OAuth Toolkit Documentation Release 1.2.0 Evonove Jun 03, 2018 Contents 1 Support 3 2 Requirements 5 3 Index 7 3.1 Installation................................................ 7 3.2 Tutorials.................................................

More information

django-rest-framework-datatables Documentation

django-rest-framework-datatables Documentation django-rest-framework-datatables Documentation Release 0.1.0 David Jean Louis Aug 16, 2018 Contents: 1 Introduction 3 2 Quickstart 5 2.1 Installation................................................ 5

More information

Django-Select2 Documentation. Nirupam Biswas

Django-Select2 Documentation. Nirupam Biswas Nirupam Biswas Mar 07, 2018 Contents 1 Get Started 3 1.1 Overview................................................. 3 1.2 Installation................................................ 3 1.3 External Dependencies..........................................

More information

Django REST Framework JSON API Documentation

Django REST Framework JSON API Documentation Django REST Framework JSON API Documentation Release 2.0.0-alpha.1 Jerel Unruh Jan 25, 2018 Contents 1 Getting Started 3 1.1 Requirements............................................... 4 1.2 Installation................................................

More information

Building APIs with Django and Django Rest Framework

Building APIs with Django and Django Rest Framework Building APIs with Django and Django Rest Framework Release 2.0 Agiliq Jun 10, 2018 Contents 1 Introductions 3 1.1 Who is this book for?.......................................... 3 1.2 How to read this

More information

django-oauth2-provider Documentation

django-oauth2-provider Documentation django-oauth2-provider Documentation Release 0.2.7-dev Alen Mujezinovic Aug 16, 2017 Contents 1 Getting started 3 1.1 Getting started.............................................. 3 2 API 5 2.1 provider.................................................

More information

django-rest-auth Documentation

django-rest-auth Documentation django-rest-auth Documentation Release 0.3.0 Tivix Inc. Jan 21, 2018 Contents 1 Contents 3 1.1 Introduction............................................... 3 1.2 Installation................................................

More information

Graphene Documentation

Graphene Documentation Graphene Documentation Release 1.0.dev Syrus Akbary Nov 09, 2017 Contents 1 Introduction tutorial - Graphene and Django 3 1.1 Set up the Django project........................................ 3 1.2 Hello

More information

django-conduit Documentation

django-conduit Documentation django-conduit Documentation Release 0.0.1 Alec Koumjian Apr 24, 2017 Contents 1 Why Use Django-Conduit? 3 2 Table of Contents 5 2.1 Filtering and Ordering.......................................... 5

More information

Tutorial: Building the Services Ecosystem

Tutorial: Building the Services Ecosystem Tutorial: Building the Services Ecosystem GlobusWorld 2018 Steve Tuecke tuecke@globus.org What is a services ecosystem? Anybody can build services with secure REST APIs App Globus Transfer Your Service

More information

DjangoRestMultipleModels Documentation

DjangoRestMultipleModels Documentation DjangoRestMultipleModels Documentation Release 2.1.0 Matt Nishi-Broach Apr 21, 2018 Contents 1 Installation 3 1.1 Usage................................................... 3 1.2 Installation................................................

More information

drf-haystack documentation

drf-haystack documentation drf-haystack documentation Release 1.8.3 Inonit Jun 16, 2018 Contents 1 Basic Usage 3 1.1 Examples.......................................... 3 2 Autocomplete 7 3 GEO spatial locations 9 4 Highlighting

More information

WEB API. Nuki Home Solutions GmbH. Münzgrabenstraße 92/ Graz Austria F

WEB API. Nuki Home Solutions GmbH. Münzgrabenstraße 92/ Graz Austria F WEB API v 1. 1 0 8. 0 5. 2 0 1 8 1. Introduction 2. Calling URL 3. Swagger Interface Example API call through Swagger 4. Authentication API Tokens OAuth 2 Code Flow OAuth2 Authentication Example 1. Authorization

More information

Bambu API Documentation

Bambu API Documentation Bambu API Documentation Release 2.0.1 Steadman Sep 27, 2017 Contents 1 About Bambu API 3 2 About Bambu Tools 2.0 5 3 Installation 7 4 Basic usage 9 5 Questions or suggestions? 11 6 Contents 13 6.1 Defining

More information

Integrating with ClearPass HTTP APIs

Integrating with ClearPass HTTP APIs Integrating with ClearPass HTTP APIs HTTP based APIs The world of APIs is full concepts that are not immediately obvious to those of us without software development backgrounds and terms like REST, RPC,

More information

django-autocomplete-light Documentation

django-autocomplete-light Documentation django-autocomplete-light Documentation Release 3.0.4 James Pic & contributors March 08, 2016 Contents 1 Features 1 2 Resources 3 3 Basics 5 3.1 Install django-autocomplete-light v3...................................

More information

django-permission Documentation

django-permission Documentation django-permission Documentation Release 0.8.8 Alisue October 29, 2015 Contents 1 django-permission 1 1.1 Documentation.............................................. 1 1.2 Installation................................................

More information

django-autocomplete-light Documentation

django-autocomplete-light Documentation django-autocomplete-light Documentation Release 3.0.4 James Pic & contributors March 05, 2016 Contents 1 Features 1 2 Resources 3 3 Basics 5 3.1 Install django-autocomplete-light v3...................................

More information

for Salesforce Question-to-Case Connector

for Salesforce Question-to-Case Connector for Salesforce Question-to-Case Connector Contents 2 Contents Cloud Help for Community Managers... 3 What is the Salesforce Question-to-Case Connector... 4 Setting up the Salesforce Question-to-Case Connector...5

More information

Tangent MicroServices Documentation

Tangent MicroServices Documentation Tangent MicroServices Documentation Release 1 Tangent Solutions March 10, 2015 Contents 1 Getting Started 3 1.1 Micro Services Projects......................................... 3 2 Service Registry 5

More information

django-ratelimit-backend Documentation

django-ratelimit-backend Documentation django-ratelimit-backend Documentation Release 1.2 Bruno Renié Sep 13, 2017 Contents 1 Usage 3 1.1 Installation................................................ 3 1.2 Quickstart................................................

More information

Beginner s Guide to Cordova and Mobile Application Development

Beginner s Guide to Cordova and Mobile Application Development November 13, 2018 Beginner s Guide to Cordova and Mobile Application Development George Campbell Lead Software Engineer Doug Davies Lead Software Engineer George Campbell Lead Software Engineer Doug Davies

More information

silk Documentation Release 0.3 Michael Ford

silk Documentation Release 0.3 Michael Ford silk Documentation Release 0.3 Michael Ford September 20, 2015 Contents 1 Quick Start 1 1.1 Other Installation Options........................................ 1 2 Profiling 3 2.1 Decorator.................................................

More information

Building a Django Twilio Programmable Chat Application

Building a Django Twilio Programmable Chat Application Building a Django Twilio Programmable Chat Application twilio.com/blog/08/0/python-django-twilio-programmable-chat-application.html March 7, 08 As a developer, I ve always wanted to include chat capabilities

More information

ForgeRock Access Management Customization and APIs

ForgeRock Access Management Customization and APIs training@forgerock.com ForgeRock Access Management Customization and APIs Description AM-421 Course Description Revision B This course provides a hands-on technical introduction to ForgeRock Access Management

More information

Build Mobile Cloud Apps Effectively Using Oracle Mobile Cloud Services (MCS)

Build Mobile Cloud Apps Effectively Using Oracle Mobile Cloud Services (MCS) Build Mobile Cloud Apps Effectively Using Oracle Mobile Cloud Services (MCS) Presented by: John Jay King Download this paper from: 1 Session Objectives Understand the need for something like Oracle Mobile

More information

Partner Center: Secure application model

Partner Center: Secure application model Partner Center: Secure application model The information provided in this document is provided "as is" without warranty of any kind. Microsoft disclaims all warranties, either express or implied, including

More information

REST API: Guide for Implementers

REST API: Guide for Implementers REST API: Guide for Implementers Version 1.03 SP-API-REST-IG-201805--R001.03 Sage 2018. All rights reserved. This document contains information proprietary to Sage and may not be reproduced, disclosed,

More information

Using Twitter & Facebook API. INF5750/ Lecture 10 (Part II)

Using Twitter & Facebook API. INF5750/ Lecture 10 (Part II) Using Twitter & Facebook API INF5750/9750 - Lecture 10 (Part II) Lecture contents Connecting to popular social APIs Authentication Authorization Common calls Privacy and understanding data storage Social

More information

Canonical Identity Provider Documentation

Canonical Identity Provider Documentation Canonical Identity Provider Documentation Release Canonical Ltd. December 14, 2018 Contents 1 API 3 1.1 General considerations.......................................... 3 1.2 Rate limiting...............................................

More information

C1: Define Security Requirements

C1: Define Security Requirements OWASP Top 10 Proactive Controls IEEE Top 10 Software Security Design Flaws OWASP Top 10 Vulnerabilities Mitigated OWASP Mobile Top 10 Vulnerabilities Mitigated C1: Define Security Requirements A security

More information

Oracle APEX 18.1 New Features

Oracle APEX 18.1 New Features Oracle APEX 18.1 New Features May, 2018 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated

More information

django-openid Documentation

django-openid Documentation django-openid Documentation Release 2.0a Simon Willison September 27, 2017 Contents 1 Installation 3 2 Accepting OpenID 5 2.1 Redirecting somewhere else....................................... 6 2.2 Requesting

More information

Using OAuth 2.0 to Access ionbiz APIs

Using OAuth 2.0 to Access ionbiz APIs Using OAuth 2.0 to Access ionbiz APIs ionbiz APIs use the OAuth 2.0 protocol for authentication and authorization. ionbiz supports common OAuth 2.0 scenarios such as those for web server, installed, and

More information

Making a POST Request Using Informatica Cloud REST API Connector

Making a POST Request Using Informatica Cloud REST API Connector Making a POST Request Using Informatica Cloud REST API Connector Copyright Informatica LLC 2016, 2017. Informatica, the Informatica logo, and Informatica Cloud are trademarks or registered trademarks of

More information

Salesforce IoT REST API Getting Started Guide

Salesforce IoT REST API Getting Started Guide Salesforce IoT REST API Getting Started Guide Version 42.0, Spring 18 @salesforcedocs Last updated: March 9, 2018 Copyright 2000 2018 salesforce.com, inc. All rights reserved. Salesforce is a registered

More information

Introduction to Kony Fabric

Introduction to Kony Fabric Kony Fabric Introduction to Kony Fabric Release V8 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version stated on the Revision

More information

Mobile Procurement REST API (MOBPROC): Access Tokens

Mobile Procurement REST API (MOBPROC): Access Tokens Mobile Procurement REST API (MOBPROC): Access Tokens Tangoe, Inc. 35 Executive Blvd. Orange, CT 06477 +1.203.859.9300 www.tangoe.com TABLE OF CONTENTS HOW TO REQUEST AN ACCESS TOKEN USING THE PASSWORD

More information

Single Sign-On for PCF. User's Guide

Single Sign-On for PCF. User's Guide Single Sign-On for PCF Version 1.2 User's Guide 2018 Pivotal Software, Inc. Table of Contents Table of Contents Single Sign-On Overview Installation Getting Started with Single Sign-On Manage Service Plans

More information

API Gateway. Version 7.5.1

API Gateway. Version 7.5.1 O A U T H U S E R G U I D E API Gateway Version 7.5.1 15 September 2017 Copyright 2017 Axway All rights reserved. This documentation describes the following Axway software: Axway API Gateway 7.5.1 No part

More information

Easily Secure your Microservices with Keycloak. Sébastien Blanc Red

Easily Secure your Microservices with Keycloak. Sébastien Blanc Red Easily Secure your Microservices with Keycloak Sébastien Blanc Red Hat @sebi2706 Keycloak? Keycloak is an open source Identity and Access Management solution aimed at modern applications and services.

More information

Zimbra Collaboration Two-Factor Authentication

Zimbra Collaboration Two-Factor Authentication Protecting Your Zimbra Collaboration Environment Zimbra Collaboration Two-Factor Authentication A Zimbra Collaboration Whitepaper Table of Contents Improves Your Company s Security 3 How Does It Work?

More information

EXPERIENCES MOVING FROM DJANGO TO FLASK

EXPERIENCES MOVING FROM DJANGO TO FLASK EXPERIENCES MOVING FROM DJANGO TO FLASK DAN O BRIEN, VP OF ENGINEERING CRAIG LANCASTER, CTO Jana Mobile Inc. www.jana.com WHO WE ARE Jana is a startup company in Boston connecting advertising and marketing

More information

Full Stack Web Developer Nanodegree Syllabus

Full Stack Web Developer Nanodegree Syllabus Full Stack Web Developer Nanodegree Syllabus Build Complex Web Applications Before You Start Thank you for your interest in the Full Stack Web Developer Nanodegree! In order to succeed in this program,

More information

Kinto Documentation. Release Mozilla Services Da French Team

Kinto Documentation. Release Mozilla Services Da French Team Kinto Documentation Release 0.2.2 Mozilla Services Da French Team June 23, 2015 Contents 1 In short 3 2 Table of content 5 2.1 API Endpoints.............................................. 5 2.2 Installation................................................

More information

Django File Picker Documentation

Django File Picker Documentation Django File Picker Documentation Release 0.5 Caktus Consulting Group LLC Nov 06, 2017 Contents 1 Dependencies 3 1.1 Required................................................. 3 1.2 Optional.................................................

More information

Django File Picker Documentation

Django File Picker Documentation Django File Picker Documentation Release 0.5 Caktus Consulting Group LLC Oct 31, 2017 Contents 1 Dependencies 3 1.1 Required................................................. 3 1.2 Optional.................................................

More information

django-sticky-uploads Documentation

django-sticky-uploads Documentation django-sticky-uploads Documentation Release 0.2.0 Caktus Consulting Group October 26, 2014 Contents 1 Requirements/Installing 3 2 Browser Support 5 3 Documentation 7 4 Running the Tests 9 5 License 11

More information

GraphQL in Python and Django. Patrick

GraphQL in Python and Django. Patrick GraphQL in Python and Django Patrick Arminio @patrick91 Who am I Patrick Arminio Backend Engineer @ Verve Chairperson at Python Italia @patrick91 online GraphQL? WEB 1.0 WEB 2.0 REST APIs While REST

More information

Django Synctool Documentation

Django Synctool Documentation Django Synctool Documentation Release 1.0.0 Preston Timmons November 01, 2014 Contents 1 Basic usage 3 1.1 How it works............................................... 4 2 Installation 5 3 Contents 7 3.1

More information

Django Extras Documentation

Django Extras Documentation Django Extras Documentation Release 0.2.7.b1 Tim Savage September 22, 2017 Contents 1 Django Extras documentation 1 1.1 Project Status............................................... 1 1.2 Getting help...............................................

More information

django-baton Documentation

django-baton Documentation django-baton Documentation Release 1.3.1 abidibo Nov 05, 2018 Contents 1 Features 3 2 Getting started 5 2.1 Installation................................................ 5 2.2 Configuration...............................................

More information

NIELSEN API PORTAL USER REGISTRATION GUIDE

NIELSEN API PORTAL USER REGISTRATION GUIDE NIELSEN API PORTAL USER REGISTRATION GUIDE 1 INTRODUCTION In order to access the Nielsen API Portal services, there are three steps that need to be followed sequentially by the user: 1. User Registration

More information

PowerExchange for Facebook: How to Configure Open Authentication using the OAuth Utility

PowerExchange for Facebook: How to Configure Open Authentication using the OAuth Utility PowerExchange for Facebook: How to Configure Open Authentication using the OAuth Utility 2013 Informatica Corporation. No part of this document may be reproduced or transmitted in any form, by any means

More information

welcome to BOILERCAMP HOW TO WEB DEV

welcome to BOILERCAMP HOW TO WEB DEV welcome to BOILERCAMP HOW TO WEB DEV Introduction / Project Overview The Plan Personal Website/Blog Schedule Introduction / Project Overview HTML / CSS Client-side JavaScript Lunch Node.js / Express.js

More information

Web Messaging Configuration Guide Document Version: 1.3 May 2018

Web Messaging Configuration Guide Document Version: 1.3 May 2018 Web Messaging Configuration Guide Document Version: 1.3 May 2018 Contents Introduction... 4 Web Messaging Benefits... 4 Deployment Steps... 5 1. Tag your brand site... 5 2. Request feature enablement...

More information

Advanced API Security

Advanced API Security Advanced API Security ITANA Group Nuwan Dias Architect 22/06/2017 Agenda 2 HTTP Basic Authentication Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l 3 API Security is about controlling Access Delegation

More information

Infrastructure as Code: "pip install" your environment. Sebastian

Infrastructure as Code: pip install your environment. Sebastian Infrastructure as Code: "pip install" your environment Sebastian Neubauer Outline What is CRUD and what has it to do with immutability? What is infrastructure as code? A real world example: Postgraas -

More information

OAuth securing the insecure

OAuth securing the insecure Black Hat US 2011 khash kiani khash@thinksec.com OAuth securing the insecure roadmap OAuth flow malicious sample applications mobile OAuth google app web-based OAuth facebook app insecure implementation

More information

ReportPlus Embedded Web SDK Guide

ReportPlus Embedded Web SDK Guide ReportPlus Embedded Web SDK Guide ReportPlus Web Embedding Guide 1.4 Disclaimer THE INFORMATION CONTAINED IN THIS DOCUMENT IS PROVIDED AS IS WITHOUT ANY EXPRESS REPRESENTATIONS OF WARRANTIES. IN ADDITION,

More information

Integration Guide. LoginTC

Integration Guide. LoginTC Integration Guide LoginTC Revised: 21 November 2016 About This Guide Guide Type Documented Integration WatchGuard or a Technology Partner has provided documentation demonstrating integration. Guide Details

More information

LFC - Lightning Fast CMS Documentation

LFC - Lightning Fast CMS Documentation LFC - Lightning Fast CMS Documentation Release 1.2b1 Kai Diefenbach July 09, 2014 Contents 1 Introduction 3 1.1 Overview................................................. 3 1.2 Concepts.................................................

More information

Edge Foundational Training

Edge Foundational Training Edge Foundational Training Give your team the tools to get up and running with Edge Edge Foundational Training provides the tools and information needed to start using Edge whether in the cloud or on premises.

More information

How to use or not use the AWS API Gateway for Microservices

How to use or not use the AWS API Gateway for Microservices How to use or not use the AWS API Gateway for Microservices Presented by Dr. Martin Merck Wednesday 26 September 2018 What is an API Gateway Traits AWS API Gateway Features of API gateway OAuth2.0 Agenda

More information

DreamFactory Security Guide

DreamFactory Security Guide DreamFactory Security Guide This white paper is designed to provide security information about DreamFactory. The sections below discuss the inherently secure characteristics of the platform and the explicit

More information

uick Start Guide 1. Install Oracle Java SE Development Kit (JDK) version or later or 1.7.* and set the JAVA_HOME environment variable.

uick Start Guide 1. Install Oracle Java SE Development Kit (JDK) version or later or 1.7.* and set the JAVA_HOME environment variable. API Manager uick Start Guide WSO2 API Manager is a complete solution for publishing APIs, creating and managing a developer community, and for routing API traffic in a scalable manner. It leverages the

More information

Django REST Framework JSON API Documentation

Django REST Framework JSON API Documentation Django REST Framework JSON API Documentation Release 2.6.0 Django REST Framework JSON API contributors Sep 21, 2018 Contents 1 Getting Started 3 1.1 Requirements...............................................

More information

GPII Security. Washington DC, November 2015

GPII Security. Washington DC, November 2015 GPII Security Washington DC, November 2015 Outline User data User's device GPII Configuration use cases Preferences access and privacy filtering Work still to do Demo GPII User Data Preferences Device

More information

Django Groups Manager Documentation

Django Groups Manager Documentation Django Groups Manager Documentation Release 0.3.0 Vittorio Zamboni January 03, 2017 Contents 1 Documentation 3 1.1 Installation................................................ 3 1.2 Basic usage................................................

More information

Building the Modern Research Data Portal using the Globus Platform. Rachana Ananthakrishnan GlobusWorld 2017

Building the Modern Research Data Portal using the Globus Platform. Rachana Ananthakrishnan GlobusWorld 2017 Building the Modern Research Data Portal using the Globus Platform Rachana Ananthakrishnan rachana@globus.org GlobusWorld 2017 Platform Questions How do you leverage Globus services in your own applications?

More information

Creating a REST API which exposes an existing SOAP Service with IBM API Management

Creating a REST API which exposes an existing SOAP Service with IBM API Management Creating a REST API which exposes an existing SOAP Service with IBM API Management 4.0.0.0 2015 Copyright IBM Corporation Page 1 of 33 TABLE OF CONTENTS OBJECTIVE...3 PREREQUISITES...3 CASE STUDY...4 USER

More information

Django Groups Manager Documentation

Django Groups Manager Documentation Django Groups Manager Documentation Release 0.3.0 Vittorio Zamboni May 03, 2017 Contents 1 Documentation 3 1.1 Installation................................................ 3 1.2 Basic usage................................................

More information

MAX Realtime messaging and activity stream engine. Carles Bruguera Víctor Fernández de Alba

MAX Realtime messaging and activity stream engine. Carles Bruguera Víctor Fernández de Alba MAX Realtime messaging and activity stream engine Carles Bruguera (@sunbit) Víctor Fernández de Alba (@sneridagh) Víctor Senior Python Developer and IT architect Plone Foundation member Plone core developer

More information

PostgreSQL as REST API Server without coding. Priya

PostgreSQL as REST API Server without coding. Priya PostgreSQL as REST API Server without coding Priya Ranjan @ranjanprj API Future of Application Development APIs are prerequisite for innovation Microservices provide APIs in a bounded context Existing

More information

Developing Cross-Platform Native Apps with AppStudio for ArcGIS. Jo Fraley Erwin Soekianto

Developing Cross-Platform Native Apps with AppStudio for ArcGIS. Jo Fraley Erwin Soekianto Developing Cross-Platform Native Apps with AppStudio for ArcGIS Jo Fraley Erwin Soekianto AppStudio for ArcGIS ios Android Linux 1App Windows Mac What is AppStudio for ArcGIS? A suite of productivity tools

More information

Best Practices: Authentication & Authorization Infrastructure. Massimo Benini HPCAC - April,

Best Practices: Authentication & Authorization Infrastructure. Massimo Benini HPCAC - April, Best Practices: Authentication & Authorization Infrastructure Massimo Benini HPCAC - April, 03 2019 Agenda - Common Vocabulary - Keycloak Overview - OAUTH2 and OIDC - Microservices Auth/Authz techniques

More information

OAuth and OpenID Connect (IN PLAIN ENGLISH)

OAuth and OpenID Connect (IN PLAIN ENGLISH) OAuth and OpenID Connect (IN PLAIN ENGLISH) NATE BARBETTINI @NBARBETTINI @OKTADEV A lot of confusion around OAuth. Terminology and jargon Incorrect advice Identity use cases (circa 2007) Simple login forms

More information

webkitpony Documentation

webkitpony Documentation webkitpony Documentation Release 0.1 Toni Michel May 24, 2014 Contents 1 Motivation 3 2 Goal 5 3 Understanding webkitpony 7 3.1 Understanding webkitpony........................................ 7 3.2 The

More information

django-dajax Documentation

django-dajax Documentation django-dajax Documentation Release 0.9 Jorge Bastida Nov 16, 2017 Contents 1 Documentation 3 1.1 Installation................................................ 3 1.2 API....................................................

More information

[GSoC Proposal] Securing Airavata API

[GSoC Proposal] Securing Airavata API [GSoC Proposal] Securing Airavata API TITLE: Securing AIRAVATA API ABSTRACT: The goal of this project is to design and implement the solution for securing AIRAVATA API. Particularly, this includes authenticating

More information

Securing APIs and Microservices with OAuth and OpenID Connect

Securing APIs and Microservices with OAuth and OpenID Connect Securing APIs and Microservices with OAuth and OpenID Connect By Travis Spencer, CEO @travisspencer, @curityio Organizers and founders ü All API Conferences ü API Community ü Active blogosphere 2018 Platform

More information

fragapy Documentation

fragapy Documentation fragapy Documentation Release 1.0 2011, Fragaria, s.r.o November 09, 2011 CONTENTS 1 Adminhelp 3 2 Amazon 5 2.1 AWS branded scripts........................................... 5 2.2 SES SMTP relay.............................................

More information

Creating a REST API which exposes an existing SOAP Service with IBM API Management

Creating a REST API which exposes an existing SOAP Service with IBM API Management Creating a REST API which exposes an existing SOAP Service with IBM API Management 3.0.0.1 Page 1 of 29 TABLE OF CONTENTS OBJECTIVE...3 PREREQUISITES...3 CASE STUDY...3 USER ROLES...4 BEFORE YOU BEGIN...4

More information

MIT AITI Python Software Development Lab DJ1:

MIT AITI Python Software Development Lab DJ1: MIT AITI Python Software Development Lab DJ1: This lab will help you get Django installed and write your first application. 1 Each person in your group must complete this lab and have it checked off. Make

More information

Django MFA Documentation

Django MFA Documentation Django MFA Documentation Release 1.0 Micro Pyramid Sep 20, 2018 Contents 1 Getting started 3 1.1 Requirements............................................... 3 1.2 Installation................................................

More information

Sentinet for Microsoft Azure SENTINET

Sentinet for Microsoft Azure SENTINET Sentinet for Microsoft Azure SENTINET Sentinet for Microsoft Azure 1 Contents Introduction... 2 Customer Benefits... 2 Deployment Topologies... 3 Cloud Deployment Model... 3 Hybrid Deployment Model...

More information

Consuming Office 365 REST API. Paolo Pialorsi PiaSys.com

Consuming Office 365 REST API. Paolo Pialorsi PiaSys.com Consuming Office 365 REST API Paolo Pialorsi paolo@pialorsi.com PiaSys.com About me Project Manager, Consultant, Trainer About 50 Microsoft certification exams passed, including MC(S)M MVP Office 365 Focused

More information

why? Give an app access to a resource managed by someone else, without giving the app your password. A valet key for the web Allen I.

why? Give an app access to a resource managed by someone else, without giving the app your password. A valet key for the web Allen I. Give an app access to a resource managed by someone else, without giving the app your password. why? Allen I. Holub Holub Associates allen@holub.com @allenholub 1 2 2 tells the A valet key for the web

More information

DJOAuth2 Documentation

DJOAuth2 Documentation DJOAuth2 Documentation Release 0.6.0 Peter Downs Sep 27, 2017 Contents 1 Important Links 1 2 What is DJOAuth2? 3 3 Why use DJOAuth2? 5 4 What is implemented? 7 5 Quickstart Guide 9 5.1 Requirements...............................................

More information

About 1. Chapter 1: Getting started with odata 2. Remarks 2. Examples 2. Installation or Setup 2. Odata- The Best way to Rest 2

About 1. Chapter 1: Getting started with odata 2. Remarks 2. Examples 2. Installation or Setup 2. Odata- The Best way to Rest 2 odata #odata Table of Contents About 1 Chapter 1: Getting started with odata 2 Remarks 2 Examples 2 Installation or Setup 2 Odata- The Best way to Rest 2 Chapter 2: Azure AD authentication for Node.js

More information

7401ICT eservice Technology. (Some of) the actual examination questions will be more precise than these.

7401ICT eservice Technology. (Some of) the actual examination questions will be more precise than these. SAMPLE EXAMINATION QUESTIONS (Some of) the actual examination questions will be more precise than these. Basic terms and concepts Define, compare and discuss the following terms and concepts: a. HTML,

More information

Randtronics Data Privacy Manager

Randtronics Data Privacy Manager Randtronics Data Privacy Manager 1 Randtronics Data Privacy Manager Securing your business A business that only encrypts their data is more secure than businesses with everything else Randtronics DPM de-risks

More information

Microsoft Graph API Deep Dive

Microsoft Graph API Deep Dive Microsoft Graph API Deep Dive Donald Hessing Lead Architect, Capgemini, The Netherlands Microsoft Certified Master (MCM) Agenda Introduction to Microsoft Graph API What is now and what is new in GA and

More information

PROCE55 Mobile: Web API App. Web API. https://www.rijksmuseum.nl/api/...

PROCE55 Mobile: Web API App. Web API. https://www.rijksmuseum.nl/api/... PROCE55 Mobile: Web API App PROCE55 Mobile with Test Web API App Web API App Example This example shows how to access a typical Web API using your mobile phone via Internet. The returned data is in JSON

More information

Protect Your API with OAuth 2. Rob Allen

Protect Your API with OAuth 2. Rob Allen Protect Your API with OAuth 2 Authentication Know who is logging into your API Rate limiting Revoke application access if its a problem Allow users to revoke 3rd party applications How? Authorization header:

More information

MIGRATING MOBILE APPS. How to migrate Rollbase and OpenEdge Mobile Apps to the Telerik Platform

MIGRATING MOBILE APPS. How to migrate Rollbase and OpenEdge Mobile Apps to the Telerik Platform W HITE PAPER www. p rogres s.com MIGRATING MOBILE APPS How to migrate Rollbase and OpenEdge Mobile Apps to the Telerik Platform TABLE OF CONTENTS OVERVIEW... 2 PROCEDURES REQUIRED FOR ALL PROJECTS... 3

More information

bzz Documentation Release Rafael Floriano and Bernardo Heynemann

bzz Documentation Release Rafael Floriano and Bernardo Heynemann bzz Documentation Release 0.1.0 Rafael Floriano and Bernardo Heynemann Nov 15, 2017 Contents 1 Getting Started 3 2 Flattening routes 5 3 Indices and tables 7 3.1 Model Hive................................................

More information

Which compute option is designed for the above scenario? A. OpenWhisk B. Containers C. Virtual Servers D. Cloud Foundry

Which compute option is designed for the above scenario? A. OpenWhisk B. Containers C. Virtual Servers D. Cloud Foundry 1. A developer needs to create support for a workload that is stateless and short-living. The workload can be any one of the following: - API/microservice /web application implementation - Mobile backend

More information

Azure Active Directory from Zero to Hero

Azure Active Directory from Zero to Hero Azure Active Directory from Zero to Hero Azure &.NET Meetup Freiburg, 2018 Esmaeil Sarabadani What we cover today Overview on Azure AD Differences between on-prem AD and Azure AD Azure AD usage scenarios

More information