Skip to content

Use OAuth authentication for the game client.#67

Merged
Armored-Dragon merged 29 commits into
feature/new-dashboardfrom
feature/newdashboard/oauth
Apr 1, 2026
Merged

Use OAuth authentication for the game client.#67
Armored-Dragon merged 29 commits into
feature/new-dashboardfrom
feature/newdashboard/oauth

Conversation

@Armored-Dragon
Copy link
Copy Markdown
Member

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.

Lots of hard coded values, but this is functional ground work for OAuth support from the game client.
@Armored-Dragon Armored-Dragon self-assigned this Mar 24, 2026
@Armored-Dragon Armored-Dragon added the enhancement New feature or request label Mar 24, 2026
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 Armored-Dragon marked this pull request as ready for review April 1, 2026 00:48
@Armored-Dragon Armored-Dragon merged commit 2760923 into feature/new-dashboard Apr 1, 2026
@Armored-Dragon Armored-Dragon deleted the feature/newdashboard/oauth branch April 1, 2026 01:18
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant