Skip to content

feat(authentication-oauth): Koa and transport independent oAuth authentication#2737

Merged
daffl merged 7 commits into
dovefrom
dove-oauth
Sep 9, 2022
Merged

feat(authentication-oauth): Koa and transport independent oAuth authentication#2737
daffl merged 7 commits into
dovefrom
dove-oauth

Conversation

@daffl
Copy link
Copy Markdown
Member

@daffl daffl commented Aug 30, 2022

This pull request is a refactoring of the authentication-oauth module into a transport independent oAuth service. This means that oAuth will work with any transport that provides the session and state parameters and supports the new http.location hook option. The appropriate middleware for Express or Koa will be registered automatically.

Additional improvements to the previous oAuth are:

  • Less redirects and easier to follow by handling authentication directly via the Grant state
  • Better debugging by allowing to turn off automatic redirects
  • Default session handling to oAuth specific cookie sessions which are more robust and avoid Express session production complaints

@daffl daffl changed the title feat(authentication-oauth): Transport independent oAuth authentication feat(authentication-oauth): Koa and transport independent oAuth authentication Aug 30, 2022
@daffl daffl merged commit 9231525 into dove Sep 9, 2022
@daffl daffl deleted the dove-oauth branch September 9, 2022 08:04
hanzlamateen added a commit to ir-engine/etherealengine-archive that referenced this pull request Sep 20, 2022
HexaField added a commit to ir-engine/etherealengine-archive that referenced this pull request Sep 22, 2022
* Updated feathers

* Removed feathers-logger

* Updated feathers-sync

* Updated feathers-sequelize

* Update for remaining feathers packages

* Updated sequelize

* Updated mediasoup

* fixed typing errors for some endpoints.

* Fixed typing errors

* Updated to feathers to 5.0.0-pre.29

* Fixed errors

* Moved Params to classes.

* Replaced expressOauth with oauth. Ref feathersjs/feathers#2737

* Fixed errors in client-core

* Update paginate param to UserParams

Co-authored-by: Kyle Baran <kbaran@bitscoop.com>
Co-authored-by: Josh Field <joshfield999@gmail.com>
barankyle added a commit to ir-engine/etherealengine-archive that referenced this pull request Sep 23, 2022
* fix a couple tsc errors

* Always discard entity 0

* remove unused precache support object

* fix save hotkey and scene preview save

* fix transform reset when reparenting

* fix reparent to self bug in editor

* fix portals, replace GroupColliderComponent with GLTFLoadedComponent

* cleanup logs

* cleanup logs

* Misc fixes for profile menu (#6970)

* Restored avatar change only allowed in location.

* misc fixes

* Fixed bug with project reset in deployed mode.

In deployed mode, pushProjectToGithub was deleting the project folder after push.
If the project had onInstall hooks to run, there was no local copy of the project to run on, and would throw errors.
Removed the deletion to fix this.

* fix import error

* fix scale and rotation controls in the editor

* Button Click Refactor (#6977)

* implement button click action, refactor active menu to be a react context

* avatar ui clickaway

* Implement System Cleanup Functions (#6971)

* implement system cleanup

* remove duplicated import

* implement subsystems

* isolate createExecute function

* update system types, debug shows system uuids

* fix logger (#6983)

* fix logger

* Passing VITE_DISABLE_LOG through builder

Co-authored-by: Kyle Baran <kbaran@bitscoop.com>

* fix hmd material handling

* only render when needed when in an HMD and no active session

* Delete xrengine black.png

* Fix transform update order (#6984)

* Fix Scene Update & Portals (#6991)

* fix scene update functionality, improve component defintion and lifecycle

* updat equality checks

* fixes

* Updates for various dependencies (#6931)

* Updated feathers

* Removed feathers-logger

* Updated feathers-sync

* Updated feathers-sequelize

* Update for remaining feathers packages

* Updated sequelize

* Updated mediasoup

* fixed typing errors for some endpoints.

* Fixed typing errors

* Updated to feathers to 5.0.0-pre.29

* Fixed errors

* Moved Params to classes.

* Replaced expressOauth with oauth. Ref feathersjs/feathers#2737

* Fixed errors in client-core

* Update paginate param to UserParams

Co-authored-by: Kyle Baran <kbaran@bitscoop.com>
Co-authored-by: Josh Field <joshfield999@gmail.com>

* xrui optimization

* cleanup

* Update typescript

This fixes some typing issues w/ react-i18next

* Fixed issues with key stuck on instance load and chat getting movement keys. (#6994)

Having 'autofocus' on the instance chat was causing problems. Since it's not display:none
when closed, and it doesn't load until the instance has been connected to, if it was rendered when
the user was moving, it was now getting focus. Their movement key presses were getting entered into
the instance chat, and movement was never seeing the keyup that would tell it to stop. Removed
autofocus from instance chat.

* Lightmap and texture editor fixes (#6995)

* add scale and offset fields in texture editor. improved thumbnail handling

* create static renderer & scene for createReadableTexture instead of initializing and disposing of them every function call

* Fixed issue with redis connection string password. (#6997)

feathers-sync v3 uses redis v4, which requires that the password be passed at the start of the
connection string, as opposed to as a query parameter. Made this change.

* Entity Tree Improvements (#6993)

* various scene fixes

* fix entity tree bugs

* test fixes

* Fixed issues with key stuck on instance load and chat getting movement keys. (#6994)

Having 'autofocus' on the instance chat was causing problems. Since it's not display:none
when closed, and it doesn't load until the instance has been connected to, if it was rendered when
the user was moving, it was now getting focus. Their movement key presses were getting entered into
the instance chat, and movement was never seeing the keyup that would tell it to stop. Removed
autofocus from instance chat.

* Lightmap and texture editor fixes (#6995)

* add scale and offset fields in texture editor. improved thumbnail handling

* create static renderer & scene for createReadableTexture instead of initializing and disposing of them every function call

* Fixed issue with redis connection string password. (#6997)

feathers-sync v3 uses redis v4, which requires that the password be passed at the start of the
connection string, as opposed to as a query parameter. Made this change.

* fix editor tests

* fix asset component

Co-authored-by: Gheric Speiginer <gheric.speiginer@gmail.com>
Co-authored-by: Kyle Baran <kbaran@bitscoop.com>
Co-authored-by: dinomut1 <94419856+dinomut1@users.noreply.github.com>
Co-authored-by: dinomut1 <heximhotep@gmail.com>

* Entity tree networked (#7002)

* various scene fixes

* fix entity tree bugs

* test fixes

* fix editor tests

* start implementing scene object networking

* fix dirty transform and spawn error

* more network logic refactoring

* disable for now

* improve tests

Co-authored-by: Gheric Speiginer <gheric.speiginer@gmail.com>

* Added error handling for instance provisioning returning a shutting-down instance (#7000)

There are corner cases where an instance-provision occurs right before an instanceserver
shuts down, or has its shutdown status recorded in the database. The provision returns an
IP address that is immediately invalid. The SocketWebRTCClientNetwork instantiation was not
handling this case, and throwing errors.

Now, whether there's an error with creating the websocket connection, or it fails to connect
within 3 seconds, it disconnects and then attempts another instance-provision.

* v1.0.0-rc3 (#7003)

Co-authored-by: CI Bot <ci-bot@xrengine.io>

Co-authored-by: HexaField <joshfield999@gmail.com>
Co-authored-by: Gheric Speiginer <gheric.speiginer@gmail.com>
Co-authored-by: Hanzla Mateen <hanzlamateen@live.com>
Co-authored-by: Liam Broza <mrhegemon@users.noreply.github.com>
Co-authored-by: dinomut1 <94419856+dinomut1@users.noreply.github.com>
Co-authored-by: dinomut1 <heximhotep@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: CI Bot <ci-bot@xrengine.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant