gary-archer / oauth.desktopsample1

Initial OpenID Connect secured Cross Platform Desktop Code Sample

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Initial OAuth Desktop App

Codacy Badge

Known Vulnerabilities

Overview

  • The initial OpenID Connect desktop code sample
  • The goal is to implement OpenID Connect in a desktop app with good usability and reliability

Views

The desktop app is a simple UI with some basic navigation between views, to render fictional resources.
The data is returned from an API that authorizes access to resources using domain specific claims.

Desktop App Views

Local Development Quick Start

First ensure that Node.js 20+ is installed.
Then build and run the app via this command, which will trigger the OpenID Connect desktop flow:

./start.sh

A login is triggered in the system browser, so that the app cannot access the user's credentials.
A lookback redirect URI runs on the local computer to receive the login response.

Desktop App Login

You can login to the desktop app using my AWS Cognito test account.
You can then test logins, API calls and token renewal:

- User: guestuser@example.com
- Password: GuestPassword1

Further Information

Programming Languages

  • Electron and TypeScript are to implement the Desktop App

Infrastructure

  • The AppAuth-JS library is used to implement the Authorization Code Flow (PKCE)
  • AWS Serverless or Kubernetes is used to host remote API endpoints used by the app
  • AWS Cognito is used as the default Authorization Server for the UI and API

About

Initial OpenID Connect secured Cross Platform Desktop Code Sample

License:MIT License


Languages

Language:TypeScript 95.6%Language:HTML 1.4%Language:Shell 1.3%Language:JavaScript 1.2%Language:CSS 0.5%