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

Machine Learning with Python (Coursera) Coursera
IBM

Machine Learning with Python (Coursera)

This course dives into the basics of machine learning using an approachable, and well-known programming language, Python. In this course, we will be reviewing two main components: First, you will be learning about the purpose of Machine Learning and where it applies to the real world. Second, you will get a general overview of Machine Learning topics such as supervised vs unsupervised learning, model evaluation, and Machine Learning algorithms.

Jun 22nd 2026
5-12 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
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
Introduction to Data Science in Python (Coursera) Coursera
University of Michigan

Introduction to Data Science in Python (Coursera)

This course will introduce the learner to the basics of the python programming environment, including fundamental python programming techniques such as lambdas, reading and manipulating csv files, and the numpy library. The course will introduce data manipulation and cleaning techniques using the popular python pandas data science library and introduce the abstraction of the Series and DataFrame as the central data structures for data analysis, along with tutorials on how to use functions such as groupby, merge, and pivot tables effectively. By the end of this course, students will be able to take tabular data, clean it, manipulate it, and run basic inferential statistical analyses.

Jun 22nd 2026
4 Weeks
Using Python to Interact with the Operating System (Coursera) Coursera
Google

Using Python to Interact with the Operating System (Coursera)

By the end of this course, you’ll be able to manipulate files and processes on your computer’s operating system. You’ll also have learned about regular expressions -- a very powerful tool for processing text files -- and you’ll get practice using the Linux command line on a virtual machine. And, this might feel like a stretch right now, but you’ll also write a program that processes a bunch of errors in an actual log file and then generates a summary file. That’s a super useful skill for IT Specialists to know.

Jun 23rd 2026
5-12 Weeks
Machine Learning Foundations: A Case Study Approach (Coursera) Coursera
University of Washington

Machine Learning Foundations: A Case Study Approach (Coursera)

Do you have data and wonder what it can tell you? Do you need a deeper understanding of the core ways in which machine learning can improve your business? Do you want to be able to converse with specialists about anything from regression and classification to deep learning and recommender systems? In this course, you will get hands-on experience with machine learning from a series of practical case-studies.

Jun 22nd 2026
5-12 Weeks
IT Security: Defense against the digital dark arts (Coursera) Coursera
Google

IT Security: Defense against the digital dark arts (Coursera)

This course covers a wide variety of IT security concepts, tools, and best practices. It introduces threats and attacks and the many ways they can show up. We’ll give you some background of encryption algorithms and how they’re used to safeguard data. Then, we’ll dive into the three As of information security: authentication, authorization, and accounting. We’ll also cover network security solutions, ranging from firewalls to Wifi encryption options. The course is rounded out by putting all these elements together into a multi-layered, in-depth security architecture, followed by recommendations on how to integrate a culture of security into your organization or team.

Jun 22nd 2026
5-12 Weeks
Intro to Relational Databases (Udacity) Udacity
Udacity

Intro to Relational Databases (Udacity)

SQL, DB-API, and More! This course is a quick, fun introduction to using a relational database from your code, using examples in Python. You'll learn the basics of SQL (the Structured Query Language) and database design, as well as the Python API for connecting Python code to a database. You'll also learn a bit about protecting your database-backed web apps from common security problems. After taking this course, you'll be able to write code using a database as a backend to store application data reliably and safely.

Self Paced
Self-Paced