Authentication & Authorization: OAuth (Udacity)

Offered by Udacity,
Authentication & Authorization: OAuth (Udacity)

Implementing Web Security with OAuth 2.0. As a Python programmer, leveraging Flask allows you to quickly and easily build your own web applications. But before you share your apps on the Internet you should protect your users' data, ensuring information stored on your site is safe from unwanted manipulation. You could implement web security and permissions on your own, but relying on trusted providers is a faster, safer, and easier way to allow users to login to your application - without having to create and maintain another account, profile, and password.

Class Deals by MOOC List - Click here and see Udacity's Active Discounts, Deals, and Promo Codes.

In this course, you will learn to implement the OAuth 2.0 framework to allow users to securely login to your web applications. You'll be provided a restaurant menu application created in Flask. By the end of this course, you will write the necessary code to implement Google+ Sign-In and Facebook Login in options so users can create restaurant menus that are viewable by everyone but only modifiable by the original creator.
OAuth 2.0 is a popular framework that allows users to login to your web application by using third party sign ins, from providers they've already created and trust, with the click of a button. And because passwords and sensitive data are never sent, your web application does not have to deal with the complexities of secure password storage and security breaches. Your users can then control the level of access your application has to their data, and change or revoke this access at any point in time.

What You Will Learn

Lesson 1
Authentication vs. Authorization

  • Learn the difference between authentication and authorization.
  • Learn how OAuth 2.0 makes implementing security easier for developers and users.
  • See OAuth 2.0 in action as you make API requests using Google's OAuth 2.0 Playground.

Lesson 2
Creating a Google+ Sign-In

  • Learn about the different types of security flows your application can implement.
  • See how security can be handled by your server and your user's browser.
  • Add a Google+ Sign-In to an existing web application and implement a hybridized client/server flow.

Lesson 3
Local Permission Systems

  • Add python code to create server-side rules that will constitute a permission system.
  • Limit access of the database for each logged in user based on how the developer designs this code.
  • Add a User model model to your database to store the credentials collected from the OAuth provider's API.

Lesson 4
Adding Facebook & Other Providers

  • Learn to implement multiple OAuth providers on your web application.
  • Add Facebook Login as an alternative sign in option for your users.
  • Understand how to use OAuth provider documentation to add as many providers as you see fit.

Prerequisites and Requirements
This course was built to expand upon the concepts introduced in Full Stack Foundations, specifically:

  • performing CRUD operations
  • making use of templates
  • developing with the Flask framework

Additionally, HTML, JavaScript, AJAX are heavily used in this course. A basic understanding of these technologies is needed to get the most out of these lectures.
If you'd like to refresh your HTML knowledge start with our Intro to HTML and CSS course. You can check out the JavaScript Basics and Intro to AJAX courses to brush up on these topics as well.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Llama for Python Programmers (Coursera) Coursera
University of Michigan

Llama for Python Programmers (Coursera)

Llama for Python Programmers is designed for programmers who want to leverage the Llama 2 large language model (LLM) and take advantage of the generative artificial intelligence (AI) revolution. In this course, you’ll learn how open-source LLMs can run on self-hosted hardware, made possible through techniques such as quantization by using the llama.cpp package.

Aug 17th 2026
3 Weeks
Introduction to Open Source Application Development (Coursera) Coursera
Illinois Tech

Introduction to Open Source Application Development (Coursera)

This course introduces basic concepts of systems programming using a modern open source language. You will learn to apply basic programming concepts toward solving problems, writing pseudocode, working with and effectively using basic data types, abstract data types, control structures, code modularization and arrays. You will learn to detect errors, work with variables and loops, and discover how functions, methods, and operators work with different data types. You will also be introduced to the object paradigm including classes, inheritance, and polymorphism.

Aug 17th 2026
5-12 Weeks
HTTP & Web Servers (Udacity) Udacity
Udacity

HTTP & Web Servers (Udacity)

How does HTTP work? This course is intended for budding full-stack web developers to master the basics of HTTP, the protocol that underlies all web technology. In this course, you'll explore HTTP directly, talking with web servers and browsers by hand. You'll write and deploy low-level web applications in Python. And you'll learn more about how HTTP connects with other web technologies.

Self Paced
Self-Paced
Passwordless Login Solutions for Android (Udacity) Udacity
Udacity,Facebook

Passwordless Login Solutions for Android (Udacity)

For an app developer, providing a seamless user experience is critical for building engagement and growing a user base. Passwordless login solutions provide your users with a simple, secure, and positive first experience. In this course, you'll learn two frameworks for sign-up and authentication: Account Kit, which uses a phone number and code, and Facebook Login for Android.

Self Paced
Self-Paced
Computing for Data Analysis (edX) EdX
Georgia Institute of Technology,GTx

Computing for Data Analysis (edX)

A hands-on introduction to basic programming principles and practice relevant to modern data analysis, data mining, and machine learning. The modern data analysis pipeline involves collection, preprocessing, storage, analysis, and interactive visualization of data. In the course, you’ll see how computing and mathematics come together.

Aug 24th 2026
13-24 Weeks
Machine Learning Rapid Prototyping with IBM Watson Studio (Coursera) Coursera
IBM

Machine Learning Rapid Prototyping with IBM Watson Studio (Coursera)

An emerging trend in AI is the availability of technologies in which automation is used to select a best-fit model, perform feature engineering and improve model performance via hyperparameter optimization. This automation will provide rapid-prototyping of models and allow the Data Scientist to focus their efforts on applying domain knowledge to fine-tune models. This course will take the learner through the creation of an end-to-end automated pipeline built by Watson Studio’s AutoAI experiment tool, explaining the underlying technology at work as developed by IBM Research.

Aug 17th 2026
4 Weeks
Global Warming II: Create Your Own Models in Python (Coursera) Coursera
University of Chicago

Global Warming II: Create Your Own Models in Python (Coursera)

This class provides a series of Python programming exercises intended to explore the use of numerical modeling in the Earth system and climate sciences. The scientific background for these models is presented in a companion class, Global Warming I: The Science and Modeling of Climate Change. This class assumes that you are new to Python programming (and this is indeed a great way to learn Python!), but that you will be able to pick up an elementary knowledge of Python syntax from another class or from on-line tutorials.

Aug 10th 2026
5-12 Weeks
Principles of Computing (Part 2) (Coursera) Coursera
Rice University

Principles of Computing (Part 2) (Coursera)

This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class.

Aug 10th 2026
4 Weeks
Passwordless Login Solutions for iOS (Udacity) Udacity
Udacity,Facebook

Passwordless Login Solutions for iOS (Udacity)

Add Account Kit and Facebook Login. For an app developer, providing a seamless user experience is critical for building engagement and growing a user base. Passwordless login solutions provide your users with a simple, secure, and positive first experience. In this course, you'll learn two frameworks for sign-up and authentication: Account Kit, which uses a phone number and code, and Facebook Login for iOS.

Self Paced
Self-Paced