Companies Home Search Profile

JWT Authentication with Elixir & Phoenix

Focused View

Aman Bhardwaj

2:53:56

16 View
  • 1. Intro.mp4
    06:07
  • 2. Project Setup.mp4
    17:49
  • 1. Password hashing and Registration.mp4
    28:38
  • 1. Login and Issuing a JWT token.mp4
    36:03
  • 2. Phoenix plugs and protected routes.mp4
    40:24
  • 3. Logging out and invalidating a JWT token.mp4
    44:55
  • Description


    Dive into the functional programming realm with none other than Elixir, the stack which powers Whatsapp, Discord etc.

    What You'll Learn?


    • Learn how to implement JWT based authentication in rest style with Elixir & Phoenix
    • Register, Login, Logout, Protected Rooutes, we have it all
    • A pure hands on course, no theories no slides only VS-Code and Postman
    • Dive into the tech stack which powers our very own WhatsApp, Discord, Pinterest and alike.

    Who is this for?


  • Amateur Elixir Developers and functional programming enthusiasts
  • What You Need to Know?


  • Basic knowledge of Elixir & PostgreSQL or any relational database is required. Phoenix can be picked up along the way.
  • More details


    Description

    Implement JWT based authentication in Elixir. The language which powers, in one way or another (ErLang) Whatsapp, Discord, Pinterest etc.

    We will be using Phoenix Framework, the fantastic MVC framework for developing backends and full stack projects in Elixir. Consider Phoenix more like Express of Node.js but way more cooler of course. Well, Elixir altogether is cooler than any other language I code but nevertheless, one thing at a time.

    Architecture

    1. Users

      1. Register User

        1. Accept user details like "email", "password", "username" etc. and persist it in the db (PostgreSQL).

      2. Password Hashing

        1. Store irreversible one way hashed password in the db rather than storing the plain tet password, which would be a disaster if you ask me.

      3. Login

        1. Login based on "username" and "password". Validate password w.r.t password hash stored in the db and if everything matches up issue a JWT token for further interaction with the API (protected routes).

      4. Get Authenticated User

        1. Get back the authenticated user w.r.t to token passwed in the authorization header. But avoiding spitting back the password and fetching it altogether from the db, even though it is hashed it still does not make any sense.

      5. Logout

        1. Invalidating a JWT token by storing it against the "user_id" in the db. So that after log out with a particular token, that token can not be used again for accessing private routes. We did this since JWT tokens can not be destroyed they can only be expired when there time comes. So what happens when someone logs out before their token expires? Oxygen for thought.

    2. Protected Routes

      1. Implement private routes to maintain an access control list => what can be accessed and what not. For example, a non authenticated user (guest) should not have access to the following apis

        1. Logout

        2. Ping (an example of ping pong Get request to demonstrate private route mechanism).

        3. etc...

    3. Postman

      1. Test the REST API with Postman along the way, while developing each route/api.

    4. A lot more

      1. We will be learning a lot more than written, about Elixir, Phoenix, PostgreSQL, and creating REST APIs altogether.

    Who this course is for:

    • Amateur Elixir Developers and functional programming enthusiasts

    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Category
    Aman Bhardwaj
    Aman Bhardwaj
    Instructor's Courses
    I am a passionate Full Stack Developer who likes to learn and code new technologies both professionally and as a hobby. Though at personal level I am a functional programming enthusiast but I am not at all language oriented and my channel has tutorial videos of Elixir, Node.js, React.js, TypeScript, Flutter and all that good stuff.Yet to learn RustLang though.Talk is cheap, let me show you the code.
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 6
    • duration 2:53:56
    • English subtitles has
    • Release Date 2024/02/04

    Courses related to JavaScript