Authentication with JSON Web Tokens

Language

Chinese talk w. English slides

Category

Security

Python Level

Intermediate

Slides Link

http://www.slideshare.net/sucitw/2016-pycontw-web-api-authentication

Abstract

隨著可連網裝置的多樣化及相對應的雲端應用程式的增加,愈來愈多用戶隨時隨地使用線上服務,與個人隱私和資源控管相關的身分識別需求將大幅增加,微服務(Microservices)間的安全地溝通和存取已經變成一項重大挑戰。營運雲端服務平台需要透過一個安全完善,且簡單調用的身份識別與存取管理系統,來控制使用者可以使用的資源和操作方式。然而,實做一個雲端的身分驗證系統可能遠比一般會員系統複雜許多,於本演講中,將介紹常見的雲端服務身分辨識作法,和如何用 Python 套件於Django和Flask兩種網路框架下,活用 JSON Web Token 來達到雲端服務間使用者身分識別的實作需求。

Description

本演講將會以本人服務的單位所提供的物聯網網路平台(Kalay platform)中各個微服務間的溝通流程和diuit messaging api為例,作為輔助說明。 關於 JSON Web Tokens說明: https://jwt.io/ (https://jwt.io/introduction/) 將介紹的第三方套件: 1. JSON Web Token implementation in Python * PyJWT:https://pyjwt.readthedocs.org/en/latest/ 2. JSON Web Token Authentication support for Django REST Framework * django-rest-framework-jwt: http://getblimp.github.io/django-rest-framework-jwt/ 3. JWT (JSON Web Tokens) for Flask applications * Flask-JWT: https://pythonhosted.org/Flask-JWT/ 舉例說明的雲端服務 * Kalay platform (http://www.throughtek.com.tw/kalay_overview.html) * diuit messaging api (http://api.diuit.com/en/index.html) Demo source codes and jupyter notebooks: https://github.com/sucitw/pycontw2016_JWT

Shuhsi Lin

A data engineer/scientist, python programmer and computational biologist. Currently working on IoT data stream processing framework in Kalay platform.

Research interests: IoT applications, Data analysis. Data visualization. Network theory. Biological pathway. Metabolome.