Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Secure User Authentication | Android + Ktor Server + MongoDB
Rating: 4.8 out of 5(134 ratings)
1,054 students

Secure User Authentication | Android + Ktor Server + MongoDB

Securely Authenticate and Store your Users Info on the Back-end Server using a modern One-Tap Sign in with Google.
Last updated 6/2022
English
English [Auto],Korean [Auto],

What you'll learn

  • Develop an Android Application
  • Develop a Backend Server with Ktor
  • Ktor 2.0
  • Create your own REST API
  • Design App UI using Jetpack Compose UI toolkit
  • Clean Architecture
  • Authentication
  • Authorization
  • ID Token
  • Access Token
  • JSON Web Token
  • OAuth
  • Open ID Connect
  • Sessions
  • Cookies
  • Session Encryption
  • One-Tap Sign in for Android
  • Mongo DB
  • CRUD operations
  • Create, Read, Update, Delete
  • GET, POST, PUT, DELETE HTTP Methods
  • Server Deployment
  • Heroku
  • and more..

Course content

6 sections56 lectures7h 30m total length
  • Introduction1:56
  • Client-Server Communication Explained9:00
  • Authentication vs Authorization5:03

    Learn the difference between authentication and authorization, where authentication verifies who you are and authorization governs access, using ID tokens, access tokens, and the OpenID Connect and OAuth frameworks.

  • ID Token5:43

    Understand how ID tokens from OpenID Connect prove user authentication and enable secure access to server endpoints through JWT claims like audience and issuer.

  • Access Token3:22

    Explain how an access token enables delegated authorization to access user resources, with scopes defining allowed actions, and secure JWTs kept confidential among the app, authorization server, and resource server.

  • OAuth 2.0 and Open ID Connect6:27

    Learn how oauth 2.0 delegates user authentication to service providers and issues access tokens with scopes. Discover OpenID Connect as an identity layer that delivers ID tokens (JWT) for sign-on.

  • JSON Web Token - JWT8:37

    Explore JSON web tokens (JWT), an open standard for securely transmitting information, detailing header, payload, and signature, and explain information exchange and authorization uses with signing algorithms.

  • Sessions and Cookies5:51

    Learn how a server-side session ID is issued after verifying a Google ID token to authenticate users, authorize access to protected endpoints, and how cookies handle client-side data.

  • One-Tap Sign in for Android4:29

    Implement one tap sign in for Android with the Google One Tap API, using the bottom sheet to list connected accounts and configuring filter by authorized accounts.

  • Project Resources

    Android Application

    https://github.com/stevdza-san/GoogleAuthApp


    Ktor Server

    https://github.com/stevdza-san/GoogleAuthServer

Requirements

  • You should be already familiar with a Jetpack Compose (Watch my To-Do course with Jetpack Compose first)
  • You should be already familiar with a Kotlin programming language
  • You should be already familiar with basic Android Architecture Components

Description

In this course I'm going to teach you how to successfully authenticate your users, and create you own user database on the back-end server, all by yourself. This course project will include a Mongo DB on our back-end, where you'll learn how to execute all CRUD operations from an Android application.

You don't need a Firebase anymore, because with this course you'll get the necessary knowledge to establish a secure communication between your Android application and the back-end server. At the start of this course I will introduce you with some important concepts which we are going to use throughout this course, like the difference between Authentication and Authorization, ID Token and Access Token, OAuth and Open ID Connect, Sessions and Cookies, JSON Web Token and One-Tap Sign in for Android.

You will be able to see how that communication will look like behind the scenes, and we are going authenticate our users using their Google account. In Android app, as a new sign in mechanism, One-Tap for Android will be implemented as well.


We will create a rather simple project, so that you can easily follow up this course, and learn everything you need, that later you become qualified to create more complex applications, that include authenticate mechanism and your own user database.

We are going to use the newest technologies and API's in this project like: Jetpack Compose, Ktor 2.0, One-Tap Sign in for Android and Mongo DB.

Who this course is for:

  • Android Developers
  • Kotlin Programmers