Use OAuth authentication for the game client.#67
Merged
Armored-Dragon merged 29 commits intoApr 1, 2026
Conversation
Lots of hard coded values, but this is functional ground work for OAuth support from the game client.
psioniq File Header extension config.
The browser will no longer hang continuiously.
This changes the login flow to have the user specify which login they are intending on using.
This will centralize url parsing making it easier to handle urls.
This will likely be reimplemented later.
Right now I do not need this here.
Removed unused references.
* Dev upload public key to the server. I need to make some changes to the UIX so I am making a checkpoint here. * Change structure of hut to use signalbus. * OAuth flow. * Go back from account creation page. * Refresh account list on change. * Move to account list after creating a local account.
Armored-Dragon
added a commit
that referenced
this pull request
Apr 1, 2026
* New dashboard work. * Changed sessions icon. Added instance option to manage the current instance. * Disable dashboard buttons when page is not present. * Storage display. * Add account list page. Improved display_dashboard... function. * Created placeholder theme for panels. * Basic account list haneling. * Better create account functionality. * Account login. * Replaced original dashboard. Scroll to bottom of messages when contacts are open. * Use OAuth authentication for the game client. (#67) * Initial work. Lots of hard coded values, but this is functional ground work for OAuth support from the game client. * Generate a random key for the pkce. * Made the auth code non-global. * Refresh token and access token. * Added TODOs. * Added file header. psioniq File Header extension config. * Reimplemented JWT library. * Set oauth variables. * Removed hardcoded authentication server values. * Use existing random_string in random library. * Base64 to Base64uri function in jwt library. * Token introspection and refreshing. * Placeholder TCPResponse to successful token capture. The browser will no longer hang continuiously. * Cleanup. * Added multiple login options. This changes the login flow to have the user specify which login they are intending on using. * Created url library. This will centralize url parsing making it easier to handle urls. * Removed passport handling. This will likely be reimplemented later. * Improved create account flow. * Disabled usernamepassword login. * Use URL Parser library. * Removed unused AES file. Right now I do not need this here. * Removed duplicate library. Removed unused references. * Stop checking OAuth server after successful connection. * Change the dashboard handling to use a singal bus. (#78) * Dev upload public key to the server. I need to make some changes to the UIX so I am making a checkpoint here. * Change structure of hut to use signalbus. * OAuth flow. * Go back from account creation page. * Refresh account list on change. * Move to account list after creating a local account. * Check to see if account is valid before logging in. * Remove unused account data display. * Disable navigation to unknown pages. * Exit page. * Removed old dash files.
Armored-Dragon
added a commit
that referenced
this pull request
Apr 1, 2026
* Base work for libraries. * Remove dead code. * Account authentication status. * Passport handling. Changes how passports are obtained. Select an account to use. Remove dead code. * Dashboard current account selection. * Created placeholder jwt lib file. * Changed how responses are verified. Fixed passport sending to server. Fixed timing issue requesting passport from account server. * Change the dashboard to something more presentable. (#64) * New dashboard work. * Changed sessions icon. Added instance option to manage the current instance. * Disable dashboard buttons when page is not present. * Storage display. * Add account list page. Improved display_dashboard... function. * Created placeholder theme for panels. * Basic account list haneling. * Better create account functionality. * Account login. * Replaced original dashboard. Scroll to bottom of messages when contacts are open. * Use OAuth authentication for the game client. (#67) * Initial work. Lots of hard coded values, but this is functional ground work for OAuth support from the game client. * Generate a random key for the pkce. * Made the auth code non-global. * Refresh token and access token. * Added TODOs. * Added file header. psioniq File Header extension config. * Reimplemented JWT library. * Set oauth variables. * Removed hardcoded authentication server values. * Use existing random_string in random library. * Base64 to Base64uri function in jwt library. * Token introspection and refreshing. * Placeholder TCPResponse to successful token capture. The browser will no longer hang continuiously. * Cleanup. * Added multiple login options. This changes the login flow to have the user specify which login they are intending on using. * Created url library. This will centralize url parsing making it easier to handle urls. * Removed passport handling. This will likely be reimplemented later. * Improved create account flow. * Disabled usernamepassword login. * Use URL Parser library. * Removed unused AES file. Right now I do not need this here. * Removed duplicate library. Removed unused references. * Stop checking OAuth server after successful connection. * Change the dashboard handling to use a singal bus. (#78) * Dev upload public key to the server. I need to make some changes to the UIX so I am making a checkpoint here. * Change structure of hut to use signalbus. * OAuth flow. * Go back from account creation page. * Refresh account list on change. * Move to account list after creating a local account. * Check to see if account is valid before logging in. * Remove unused account data display. * Disable navigation to unknown pages. * Exit page. * Removed old dash files.
Armored-Dragon
added a commit
that referenced
this pull request
Apr 1, 2026
* Basic handling for multiple accounts. Improve security by utilizing two unique keys. One for Client to AS, the other for Client to Client/Server. * Refactored signin.gd. * Properly send public key to identity server. * Multi Account support. * Base work for libraries. * Remove dead code. * Account authentication status. * Passport handling. Changes how passports are obtained. Select an account to use. Remove dead code. * Dashboard current account selection. * Created placeholder jwt lib file. * Changed how responses are verified. Fixed passport sending to server. Fixed timing issue requesting passport from account server. * Change the dashboard to something more presentable. (#64) * New dashboard work. * Changed sessions icon. Added instance option to manage the current instance. * Disable dashboard buttons when page is not present. * Storage display. * Add account list page. Improved display_dashboard... function. * Created placeholder theme for panels. * Basic account list haneling. * Better create account functionality. * Account login. * Replaced original dashboard. Scroll to bottom of messages when contacts are open. * Use OAuth authentication for the game client. (#67) * Initial work. Lots of hard coded values, but this is functional ground work for OAuth support from the game client. * Generate a random key for the pkce. * Made the auth code non-global. * Refresh token and access token. * Added TODOs. * Added file header. psioniq File Header extension config. * Reimplemented JWT library. * Set oauth variables. * Removed hardcoded authentication server values. * Use existing random_string in random library. * Base64 to Base64uri function in jwt library. * Token introspection and refreshing. * Placeholder TCPResponse to successful token capture. The browser will no longer hang continuiously. * Cleanup. * Added multiple login options. This changes the login flow to have the user specify which login they are intending on using. * Created url library. This will centralize url parsing making it easier to handle urls. * Removed passport handling. This will likely be reimplemented later. * Improved create account flow. * Disabled usernamepassword login. * Use URL Parser library. * Removed unused AES file. Right now I do not need this here. * Removed duplicate library. Removed unused references. * Stop checking OAuth server after successful connection. * Change the dashboard handling to use a singal bus. (#78) * Dev upload public key to the server. I need to make some changes to the UIX so I am making a checkpoint here. * Change structure of hut to use signalbus. * OAuth flow. * Go back from account creation page. * Refresh account list on change. * Move to account list after creating a local account. * Check to see if account is valid before logging in. * Remove unused account data display. * Disable navigation to unknown pages. * Exit page. * Removed old dash files.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request adds basic OAuth support for authentication of game clients. This is being done to bring it in line with the account server authentication route.