Skip to main content
CF

Web Authentication, Encryption, JWT, HMAC, & OAuth With Go

14h 3m 23s
English
Paid

Enhance your Go programming proficiency with this intermediate course focused on web authentication, encryption, JWT, HMAC, and OAuth. Google's Go Programming Language is rapidly gaining traction as one of the most sought-after programming languages worldwide, known for enhancing programmer efficiency and productivity.

Course Overview

This course is designed to advance your Go Programming skills through practical applications. You will build competencies in web authentication, encryption, JWT, and OAuth, integrating these essential components to supercharge your programming projects.

Course Highlights

Through high-quality video lectures, learn from a tenured professor and a Professional Developer as they guide you through the following:

  • Learn to succeed as a student in this field.
  • Launch a service utilizing JSON encoding and decoding.
  • Master the fundamentals of authentication.
  • Acquire necessary skills for secure password storage.
  • Develop understanding of hash-based message authentication code (HMAC).
  • Gain insight into JSON Web Tokens (JWT).
  • Explore the practical applications of encryption.
  • Establish authentication with HMAC and JWT.
  • Master the fundamentals of open authentication (OAuth), including OAuth2.
  • Establish authentication with OAuth2.
  • Reinforce skills through hands-on exercises.

Course Benefits

This course offers transformative learning that has the potential to significantly enhance your programming career. Mastery of Go will increase your productivity and proficiency as a programmer. Expect your life to change with newfound skills and opportunities.

Course Requirements

  • Prerequisite: An Introduction to Google's Go (golang) Programming Language.
  • Prerequisite: Web Development using Google's Go (golang) Programming Language.

Enroll now to start your journey towards mastering the Go programming language! Satisfaction is guaranteed.

The course image artwork by Renee French is licensed under the Creative Commons 3.0 Attributions license.

About the Author: Udemy

Udemy thumbnail

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

Watch Online 84 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 84 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Welcome
All Course Lessons (84)
#Lesson TitleDurationAccess
1
Welcome Demo
05:25
2
Course outline
02:40
3
Setup
01:08
4
Installing Go and Go modules
01:03
5
Marshal
03:27
6
Unmarshal
02:13
7
Launching a service
01:54
8
Encode
02:15
9
Decode
02:33
10
Hands-on exercise #1
01:22
11
Hands-on exercise #2
04:45
12
Difference between authentication and authorization
10:36
13
HTTP basic authentication
04:39
14
Exploring authentication and state
07:45
15
Storing passwords
05:34
16
Hashing passwords
04:13
17
Bearer tokens & HMAC
04:11
18
HMAC in action
03:21
19
Discussing HMAC
06:23
20
Discussing HMAC II
05:41
21
JWT explained
06:48
22
JWT documentation & claims
05:11
23
Creating JWT
05:29
24
Validating JWT
06:37
25
Overview of concepts
10:33
26
Rotating keys
05:39
27
Discussion
10:34
28
Base64 - not encryption
09:02
29
Encrypting an email
16:12
30
Reviewing encrypted email
03:24
31
Review and overview
10:44
32
SHA256 a file
06:27
33
HMAC values in a cookie intro
13:00
34
HMAC values in a cookie - 1
07:06
35
VS code liveshare
17:24
36
HMAC values in a cookie - 2
13:20
37
HMAC values in a cookie - 3
16:43
38
Security high-level
28:51
39
JWT overview of docs
13:12
40
JWT in a cookie
15:51
41
JWT parsing Part 1
11:25
42
JWT parsing Part 2
11:04
43
Running
11:28
44
Hands-on exercise #1
05:47
45
Hands-on exercise #1 - part 2
10:51
46
Hands-on exercise #2
10:45
47
Hands-on exercise #3
11:58
48
Hands-on exercise #3 part 2
11:05
49
Hands-on exercise #4
16:29
50
Hands-on exercise #4 part 2
09:27
51
Hands-on exercise #5
14:15
52
Hands-on exercise #6
11:24
53
Hands-on exercise #6 part 2
12:42
54
Hands-on exercise #6 part 3
14:47
55
What is OAuth2
14:46
56
Overview of the OAuth2 process
12:30
57
Examining the OAuth2 package
14:54
58
Finding documentation for an OAuth2 provider
14:32
59
Setting up a server
10:50
60
Starting the oauth process
12:19
61
Getting the http client
17:36
62
Using the http client
11:06
63
JSON decoding user id
19:37
64
Hands-on exercise #1
13:44
65
Hands-on exercise #2
12:09
66
Hands-on exercise #2 part 2
09:57
67
Hands-on exercise #2 part 3
08:55
68
Hands-on exercise #2 part 4
11:00
69
Hands-on exercise #2 part 5
04:45
70
Hands-on exercise #3
07:09
71
Hands-on exercise #3 part 2
08:55
72
Hands-on exercise #4
09:58
73
Hands-on exercise #4 part 2
14:07
74
Hands-on exercise #4 - continued - part 1
07:20
75
Hands-on exercise #4 - continued - part 2
21:51
76
Hands-on exercise #4 - continued - part 3
11:20
77
Hands-on exercise #5
09:48
78
Hands-on exercise #5 part 2
08:43
79
Hands-on exercise #6
09:35
80
Hands-on exercise #6 part 2
08:28
81
Review
28:48
82
Review part 2
15:53
83
Congratulations!
13:37
84
Bonus lecture
12:29
Unlock unlimited learning

Get instant access to all 83 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What prerequisites are required for this course?
This course is designed for those with intermediate-level experience in programming, particularly in the Go language. Familiarity with basic programming concepts and some prior experience with web development will be beneficial. If you are new to Go, you may want to review foundational Go programming resources before enrolling.
What types of projects or exercises will I work on?
Throughout the course, you will engage in hands-on exercises that reinforce learning concepts such as JSON encoding and decoding, secure password storage, and authentication methods using HMAC and JWT. These practical applications aim to solidify your understanding of web authentication and encryption in Go.
Who would benefit most from taking this course?
The course is ideal for developers looking to deepen their understanding of web authentication and encryption techniques using Go. It targets professionals aiming to implement secure authentication protocols like JWT, HMAC, and OAuth2 in their projects. Those seeking to enhance their Go programming skills with a focus on security concepts will find this course particularly beneficial.
How does this course compare in depth and scope to other similar courses?
This course offers a targeted exploration of web authentication and encryption within the Go programming environment. Unlike broader programming courses, it focuses specifically on mastering JWT, HMAC, and OAuth2, providing both theoretical insights and practical exercises to ensure a well-rounded understanding of these technologies.
What specific tools or platforms will be covered?
The course covers tools and platforms related to web authentication and encryption in Go, including JSON Web Tokens (JWT), Hash-based Message Authentication Code (HMAC), and OAuth2. You'll learn how to implement these technologies through practical exercises using Go modules and services setup.
What topics are not covered in this course?
While the course covers various aspects of web authentication and encryption, it does not delve into broader web development frameworks or front-end technologies. Topics such as user interface design, client-side scripting, and advanced network security measures beyond OAuth2 and JWT are not included.
What is the expected time commitment for this course?
The course consists of 84 lessons. The time commitment will vary based on your pace, but it's designed to be completed within a few weeks with consistent study. Allocating regular time for watching video lectures and completing hands-on exercises will help you gain the most from the course.