OAuth 2 Authorization for OctoPrint

OAuth 2 autorizace pro aplikaci OctoPrint

Editors

Other contributors

Journal Title

Journal ISSN

Volume Title

Publisher

České vysoké učení technické v Praze
Czech Technical University in Prague

Date of defense

2018-06-19

Research Projects

Organizational Units

Journal Issue

Abstract

Cílem mé práce je navrhnout a naimplementovat plugin pro rozšíření aplikace OctoPrint. Díky němu se budou moci uživatelé přihlásit do uživatelského rozhraní pomocí serveru třetí strany využitím autorizačního protokolu OAuth 2.0. Aplikace OctoPrint se například používá na ovládání 3D tiskáren při výuce předmětu BI-3DT na Fakultě informačních technologií ČVUT v Praze. V první části jsou zpracované možnosti vytváření pluginů do aplikace OctoPrint, dále je popsaná vnitřní struktura OctoPrintu. Následně je provedena rešerše autorizačního protokolu OAuth 2.0 a na základě těchto informací je vytvořen návrh samotného pluginu. Implementace je provedena pomocí autentizačních knihoven jazyka Python. Dále je popsána samotná implementace softwaru, která je otestována, jak samostatně pomocí použití naprogramovaných testů, tak na Raspberry Pi ve 3D laboratoři na FIT ČVUT v Praze. Je také popsána konfigurace pluginu pro vlastní využití. Výsledný plugin umožňuje přihlášení přes autentizaci OAuth 2.0 do aplikace OctoPrint. Toto rozšíření ulehčí výuku předmětu BI-3DT na FIT ČVUT v Praze. Dále je plugin dostupný i celé komunitě 3D tiskařů pro další možné úpravy či rozšíření.

The aim of this bachelor thesis is to design and create plugin for an application OctoPrint. This extension will provide users the possibility to log into user interface using the authorization framework OAuth 2.0. OctoPrint application is used for example to control 3D printers at the Faculty of Information Technogogy at Czech Technical University in Prague. The first part of the thesis describes capabilities of creating a plugin for the OctoPrint application. This part is followed by a research on an authorization protocol of OAuth 2.0 and, subsequently, a plugin design is created based on results of the research. The implementation is done using Python authentication libraries. After that, the programming of the software is described. The software itself is afterwards tested separately using programmed tests, as well as on Raspberry Pis from a 3D laboratory at the Faculty of Information Technology. The plugins configuration for custom use is also described. The resulting plugin enables the authorization via OAuth 2.0 into the OctoPrint application. This extension will facilitate the teaching of a subject 3D Printing at the FIT CTU in Prague. Additionally, the plugin is available to the community of people working with 3D printers for further editing or extensions.

Description

Citation

Underlying research data set URL

Rights/License

A university thesis is a work protected by the Copyright Act of the Czech Republic. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one`s own expense. The use of thesis should be in compliance with the Copyright Act.

Vysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem v platném znění.

Endorsement

Review

Supplemented By

Referenced By