Oauth2 provider that connects to MT auth DB via SRP #4906

Open
opened 2023-07-08 23:54:58 +00:00 by AliasAlreadyTaken · 5 comments

In the beginning, we only had gitea as a secondary system, whoever wanted to take part there had to make another account. Now there's a demand to have a forum, a wiki and possibly more adjacent services like pasteboard or image/skin upload.

Let's have an oauth2 provider that connects to MT auth DB via SRP. Musthaves:

  • no plaintext passwords anywhere
  • Alias can understand what's going on
  • open source
  • acts as an oauth2 provider
  • uses MT auth db as auth source

A possible candidate is this, even though its on docker and currently lacks a license:

https://github.com/minetest-go/mtauth

In the beginning, we only had gitea as a secondary system, whoever wanted to take part there had to make another account. Now there's a demand to have a forum, a wiki and possibly more adjacent services like pasteboard or image/skin upload. Let's have an oauth2 provider that connects to MT auth DB via SRP. Musthaves: * no plaintext passwords anywhere * Alias can understand what's going on * open source * acts as an oauth2 provider * uses MT auth db as auth source A possible candidate is this, even though its on docker and currently lacks a license: https://github.com/minetest-go/mtauth
AliasAlreadyTaken added the
1. kind/other
label 2023-07-08 23:55:13 +00:00
AliasAlreadyTaken added this to the Alias@work project 2023-07-08 23:55:18 +00:00
Member

i can take a look at this at some point. i've set up a couple SAML instances (before OAuth existed), and could probably learn what's needed and give advice.

i can take a look at this at some point. i've set up a couple SAML instances (before OAuth existed), and could probably learn what's needed and give advice.
Author
Owner

This is an example of how SRP can be checked in C

https://github.com/est31/csrp-gmp/blob/master/test_srp.c

There is some weird and old documentation here:

https://doxy.minetest.net/srp_8cpp.html

The minetest dev wiki only has limited info, but still some:

https://dev.minetest.net/Engine/Network_Protocol#Authentication_since_protocol_25

That's how MT does it:

https://github.com/minetest/minetest/blob/master/src/util/srp.h

This si said to be a mt_auth implementation for use by outside services:

https://gitea.your-land.de/your-land/mt_auth

This is an example of how SRP can be checked in C https://github.com/est31/csrp-gmp/blob/master/test_srp.c There is some weird and old documentation here: https://doxy.minetest.net/srp_8cpp.html The minetest dev wiki only has limited info, but still some: https://dev.minetest.net/Engine/Network_Protocol#Authentication_since_protocol_25 That's how MT does it: https://github.com/minetest/minetest/blob/master/src/util/srp.h This si said to be a mt_auth implementation for use by outside services: https://gitea.your-land.de/your-land/mt_auth
> That's how MT does it: > > https://github.com/minetest/minetest/blob/master/src/util/srp.h also https://github.com/minetest/minetest/blob/master/src/util/srp.cpp
Member

picking an extensible oath2 provider is probably the first step.

picking an extensible oath2 provider is probably the first step.
Member

srp should not bet too hard to implement given the right primitives and the existing documentation and implementations.

srp should not bet too hard to implement given the right primitives and the existing documentation and implementations.
AliasAlreadyTaken removed this from the Alias@work project 2024-04-12 20:43:41 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: your-land/bugtracker#4906
No description provided.