inexorgame-obsolete / deprecated-cube-engine-inexor

UNMAINTAINED: Please have a look at the vulkan-renderer
https://inexor.org
zlib License
11 stars 1 forks source link

Implement OAuth-based authentication strategy #459

Closed Fohlen closed 5 years ago

Fohlen commented 6 years ago

We should implement an OAuth-based authentication strategy on top of inexor-flex What I have in mind is:

Fohlen commented 6 years ago

The FQDN problem could be solved as follows:

Pro:

Contra:

(if you're wondering what this is? This is essentially a DynDNS provider)

MartinMuzatko commented 6 years ago

I'm trying to understand how this is related with an account system we might introduce with this.

For what do you authenticate? For the role you have assigned at a server? Meaning we have our own auth server and each server can deal with the different users?

How do you authenticate users? Does every user need to have an account? Please let me know of your thoughts @Fohlen

Fohlen commented 6 years ago

Hello @MartinMuzatko The authentication serves the following purpose:

Therefore we want users (of game servers usually) to be able to log in. OpenID is a good standard here.

MartinMuzatko commented 6 years ago

Can this also be used for something like a community hub or is this only meant for gameserver authentication? If we want users to authenticate with our content-server to publish and share their content, they don't necessarily need to be authenticated with a single game-server. Where we host the users content for easy sharing. If we are going to do this, I think we need an extra ticket in order to organize this, but I can imagine there are intersections between the authentication to a single gameserver and how a user exists spanning across all servers.

I don't know if this is on-topic and if this is what we are looking for. I tried to document our community intentions in the wiki: https://github.com/inexorgame/inexor-core/wiki/Game-Community#account--profile

MartinMuzatko commented 6 years ago

I think the idea is to create a decentralized authentication mechanism, rather than a platform. Will there be both maybe? Or how do we make something like our community features possible with the decentralized approach?

Fohlen commented 6 years ago

Well that's a different topic and it's handled by a separate ticket. Community aspect shall be handled by a decentralised p2p network on top of the individual servers (distributing the master list). In the end one should be able to login as account@nodeid on any other server in the network

MartinMuzatko commented 5 years ago

We started implementing on inexor-cloud: https://github.com/inexorgame/inexor-cloud This provides oAuth auth with external providers (github, twitter, google, etc) and JWT with local provider (register inexor account)

Fohlen commented 5 years ago

Can this be closed then?

MartinMuzatko commented 5 years ago

Yep :) closing now.

MartinMuzatko commented 5 years ago

There will be adaptions required in flex, since login is centralized. Should we allow a second tier between auth and no auth?

  1. log in with inexor-cloud
  2. log in with server only
  3. no login