# Skynet LDAP backend Basic information on the Skynet ldap backend for use on ### Error: HTTP 500 No indication of the issue is returned to teh frontend. ## Routes Base URL: ### POST /ldap/update Fields: * userPassword * mail * sshPublicKey * cn * sn * skDiscord ```json { "user" : "username", "pass" : "password", "field": "field to change", "value": "new value of field" } ``` Success: Each value is either a string or ``null``. ```json { "result": "success", "success": { "cn": "Firstname Surname", "mail": "Email address", "skDiscord": null, "sshPublicKey": "ssh key" } } ``` Changing ``userPassword`` requires the existing password in teh apssword field and the new one in teh value field. ### POST /ldap/new/email Kickstarts teh process of signing up to Skynet ```json { "email" : "User's wolves email" } ``` ### POST /ldap/new/account Verifies teh user has access to this email ```json { "auth" : "Authcode from the email", "user" : "username the user wants", "pass" : "password teh user wants" } ``` Username taken: ```json {"result": "error", "error": "username not available"} ``` Invalid Auth: ```json {"result": "error", "error": "Invalid auth"} ``` ## Responses Generic responses which is used unless otherwise specified above. ### POST /ldap/recover/username Sends an email to the user of the address reminding them of their username (if there is an account associated with said username). ```json { "email" : "email looking for remidner" } ``` ### POST /ldap/recover/password ```json { "user" : "[OPTIONAL] username looking for reset", "email" : "[OPTIONAL] email looking for reset" } ``` All responses: ```json {"result": "success"} ``` ### POST /ldap/recover/password/auth ```json { "auth" : "Auth key from teh email", "pass" : "Password the user chooses" } ``` Early Errors: ```json {"result": "error"} ``` LDAP error: ```json {"result": "error", "error": "ldap error"} ``` Success: ```json {"result": "success", "success": "Password set"} ``` ## Responses Generic responses which is used unless otherwise specified above. ### Success: HTTP 200 ```json { "result": "success" } ```