avonian / soundstage-vr

0 stars 0 forks source link

ClientFactory #27

Open avonian opened 3 years ago

avonian commented 3 years ago

Implement the soundstage ClientFactory so that I can add custom authentication and authorization logic.

The list below is not intended for you to necessarily develop, simply documenting that the final goals of the custom ClientFactory are:

Authenticate users

Authorization

jalmasi commented 3 years ago

Pushed to main branch.

ClientFactory has three methods: https://github.com/jalmasi/vrspace/blob/master/server/src/main/java/org/vrspace/server/core/ClientFactory.java

Specify custom factory by implementing the interface, overriding method(s) you want, like this: https://github.com/jalmasi/vrspace/blob/master/server/src/main/java/org/vrspace/server/core/DefaultClientFactory.java

Then this default factory can be replaced by specifying new factory in configuration property, like https://github.com/jalmasi/vrspace/blob/master/server/src/test/java/org/vrspace/server/core/FactoryPropertyTest.java or by overriding a factory configuration, like https://github.com/jalmasi/vrspace/blob/master/server/src/test/java/org/vrspace/server/core/FactoryConfigTest.java

Note HTTP headers available to factory methods. JWT is typically passed as Authorization header, cookies also can be found there, etc.

avonian commented 3 years ago

Thank you Josip, I'll check it all out and report back soon :)

On Wed, Jul 14, 2021 at 4:13 PM Josip Almasi @.***> wrote:

Pushed to main branch.

ClientFactory has three methods:

https://github.com/jalmasi/vrspace/blob/master/server/src/main/java/org/vrspace/server/core/ClientFactory.java

Specify custom factory by implementing the interface, overriding method(s) you want, like this:

https://github.com/jalmasi/vrspace/blob/master/server/src/main/java/org/vrspace/server/core/DefaultClientFactory.java

Then this default factory can be replaced by specifying new factory in configuration property, like

https://github.com/jalmasi/vrspace/blob/master/server/src/test/java/org/vrspace/server/core/FactoryPropertyTest.java or by overriding a factory configuration, like

https://github.com/jalmasi/vrspace/blob/master/server/src/test/java/org/vrspace/server/core/FactoryConfigTest.java

Note HTTP headers available to factory methods. JWT is typically passed as Authorization header, cookies also can be found there, etc.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/SoundStageFM/soundstage-vr/issues/27#issuecomment-879928793, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABKJIRFXC5FFIR42OEO5WJLTXWLQBANCNFSM47UQXFWA .