Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Fullstack GoLang React OAuth Flow w/ Node Included
Rating: 3.8 out of 5(8 ratings)
1,136 students

Fullstack GoLang React OAuth Flow w/ Node Included

Build our own custom Oauth Framework.
Created byZach LaCourse
Last updated 5/2020
English

What you'll learn

  • Oauth with GoLang and Node

Course content

12 sections119 lectures13h 6m total length
  • Install & Configure NGinx w/ Lets Encrypt11:00
  • Install JDK1:31
  • Download and Configure Keycloak6:30
  • Secure Keycloak with HTTPS / Configure Admin User6:10
  • Install Go Configue Web App directory3:25

    Start building a keycloak-secured go web app by configuring a new directory, installing go, initializing a module named go cloak server, and linking the go binary to the system path.

  • Finish Go Dev Environment Compile First Go App4:15

    Configure a dedicated Go environment using go mods and a PATH profile, update your bash profile, and test package placement with a hello world app.

  • Code Run Isomorphic TLS Webserver7:26
  • Add Index Template and Test3:42
  • Create Keycloak Realm and Client Application4:47

    Create a Keycloak realm and a client application, start the server, and configure the admin console to enable token requests and access to server resources.

  • Create Keycloak User1:37
  • Code Keycloak login route15:29

    Set up the Keycloak login route by configuring the client ID and secret, implement the authorization code grant, and manage redirects and callbacks to obtain access tokens.

  • Parse Code and SessionState from URl and Redirect Home5:52
  • Exchange Code for Access Token Part I7:10
  • Exchange Code for Access Token Part II5:20
  • Exchange Code for Access Token Part III3:42

    Define a Go struct for the access token, marshal token data into it, store it in app variables and SQL structures, then use the token to access a protected resource.

  • Display App Session Data on Page3:26
  • Pretty up the page a little7:53

    Enhance the page by applying Google fonts, turning the layout into a grid, updating the template, and testing a cleaner interface with login and custom styling.

  • Add Loutout Functionality6:31
  • Quick Fix0:49
  • Prepare the stage for resource gathering1:59

    Sets up a root for systems and a resource server, and defines a client route and an api route to request a systems resource and obtain an access token.

  • Start Filling out Systems Resource Request9:04

    Set up a systems resource endpoint that returns a json array of hosts and ports by extracting and validating a token, then render the results on the client page.

  • Systems Resource Call Part II8:11
  • Systems Resource Call Part III11:28

    Learn how to extract an access token from headers, body, or query parameters, handle bearer tokens, validate and print errors, and fetch system data using a token-based request flow.

  • Systems Resource Call Part IV4:38

    Learn to validate tokens by sending them to the token introspection endpoint on the key store server via a post request with url-encoded form values and headers.

  • Create Token Authentication Client And Implement Validation16:25

    Create a token authentication client on a Keycloak server to validate tokens via introspection, enforce bearer-only access, and verify audiences.

  • Deeper Look at Audience and Scope1:53

    Verify the token audience, configure scopes like profile and email, and validate them before building a custom server and react app.

  • Add Scope Start Extraction and Validation6:27
  • Setup Audience Validation Part I14:38
  • Finalize Keycloak Client Oauth Isomorphic Go App3:29

Requirements

  • Basic understanding of fullstack web development ( not 100% required )

Description

First we are going to explore setting up a Keycloak server. Second we will configure HTTPS via letsencrypt and Nginx to cancel our Certs. Next well create our own authentication server and resource server in both GoLang and Node. Last we will chop it all up and create a micro Authentication protocol specifically  for websockets.

Who this course is for:

  • Web Dev Hobbyists