Coder Social home page Coder Social logo

missive-poc's Introduction

POC (proof of concept) de mon travail de diplôme

Description

Ce projet est un POC (proof of concept) de mon travail de diplôme. Il s'agit d'une application mobile permettant de se connecter grâce à une API, avec les mécanismes de sécurité propres au web (JWT, CORS...). L'application ainsi que le serveur implémenteront un système d'authentification forte (2FA) avec TOTP (avec option de le connecter à un authentificateur via un QR code, ou une URL manuellement).

Technologies utilisées

Les technologies utilisées seront Flutter pour l'application mobile, qui est le framework que je vais utiliser lors de mon travail de diplôme, et Typescript pour réaliser l'API.

Objectifs

Techniques

Les objectifs de ce POC sont les suivants :

  • Implémenter un système de connexion avec fonctionnalités d'authentification forte (2FA)
    • Utiliser un système de JWT pour gérer les connexions
    • Utiliser des codes d'erreur HTTP pertinents
    • S'assurer que l'API est sécurisée (CSRF, XSS, injection SQL...)
    • S'assurer que l'API ne crash pas en cas d'erreur (même si base de données indisponible)
    • Utiliser un système de 2FA (TOTP)
  • Réaliser une application mobile en Flutter permettant de se connecter à l'API
    • Gérer les erreurs de connexion (mauvais mot de passe, mauvais code 2FA...)
    • Gérer les erreurs de l'API (utilisateur non trouvé, erreur interne...)

Personnels

L'objectif principal de ce POC est de me familiariser avec les différentes technologies avant même que le travail ne commence. Cela me permettra de gagner du temps lors de sa réalisation, et m'assurera que je ne vais pas me bloquer à cause d'un problème technique, lié soit à mes connaissances personnelles ou à un mauvais choix technologique.

Je ne suis pas du tout familier avec Flutter, et je n'ai jamais réalisé d'application mobile. Certains mécanismes d'authentification me posent également souci à l'heure où ce document a été rédigé, et j'aimerais comprendre plus en détails comment fonctionne un système de JWT, ainsi que d'authentification forte avec TOTP.

Il me permettra également de confirmer mes compétences en Typescript, et de les améliorer si nécessaire. Une API a déjà été réalisée durant le cours de PDA, mais je n'ai pas eu l'occasion d'implémenter quelconque authentification.

missive-poc's People

Contributors

nezia1 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.