https://github.com/edg-l/ddnet-authservice
WIP/RFC ddnet auth service using ed25519 pub key auth.
https://github.com/edg-l/ddnet-authservice
ddnet
Last synced: about 1 month ago
JSON representation
WIP/RFC ddnet auth service using ed25519 pub key auth.
- Host: GitHub
- URL: https://github.com/edg-l/ddnet-authservice
- Owner: edg-l
- Created: 2021-08-21T11:41:31.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-08-25T14:20:49.000Z (almost 5 years ago)
- Last Synced: 2025-03-23T13:41:53.289Z (about 1 year ago)
- Topics: ddnet
- Language: Rust
- Homepage:
- Size: 45.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# A POC auth service for DDRaceNetwork servers
Work in progress
## Endpoints
| METHOD | Endpoint | Data | What it does |
| --- | --- | --- | -- |
| GET | `/version` | Auth server version, e.g 1.0.0 | Tell the backend version |
| POST | `/account/register` | A Json object "RegisterPayload" (check below for how its defined) | Register a new account |
| POST | `/account/mapping` | A json object "AccoundIdRequest" (check below for how its defined) | Given a public key, get its mapped uuid |
| POST | `/account/verify` | A json object "VerifyUserPayload" (check below for how its defined) | Verify a public key is valid and return the account id |
### RegisterPayload
```json
{
"public_key": "base64 encoded public key byte data",
"email": "email@email.com",
"email_signature": "base64 encoded signature of the email using the private key for the given public key",
}
```
### AccoundIdRequest
```json
{
"public_key": "base64 encoded public key byte data",
}
```
### VerifyUserPayload
```json
{
"public_key": "base64 encoded public key byte data",
"message": "something here",
"message_signature": "base64 encoded signature of the message using the private key for the given public key",
}
```
## TODO
- [ ] Add a packet on ddnet to let the client send the public key to the server to verify its identity.
- [x] Add a way to let the client register sending an email + public_key + the signature of the email using the private key.
https://www.openssl.org/docs/man1.1.1/man7/Ed25519.html