π Small http server library
β οΈ It should be noted that the project is in the early stages of development and is not ready for use in production. The API may change in the future.
This is a small practice project I started to learn the intricacies of backend development. It includes features such as user sign-up, token management, token refreshes, and token grants. The aim is to create a simple yet functional HTTP server that handles authentication and authorization effectively. Feedback and contributions are welcome as I continue to refine and expand this project.
USE IN PRODUCTION IS STRONGLY DISCOURAGED, BUT IF YOU DO WANT TO, USE AT YOUR OWN DISCRETION
It is worth noting that you can import your own JWK crypto key and store it in key.json if you wish, otherwise a new
key will be generated and stored there.
All the user data that is stored after the program is ran, can be found in data.json.
In order to run the project, use deno -RWN main.ts
The default port of the program is 8080, if you wish to change it, you are able to do it through editing
config/config.json
The program supports SSL out of the box, by default the values in config are set to "", as long as length on both
items ("cert" and "key" is 0, it won't use tls). If you want to use a custom certificate authority, run the program
with the --cert path/to/CA.pem flag.
.
βββ config
β βββ config.json
βββ deno.json
βββ deno.lock
βββ lib
β βββ actions
β β βββ exec.ts
β β βββ read.ts
β β βββ write.ts
β βββ auth
β β βββ scope.ts
β β βββ token.ts
β βββ crypto
β β βββ code.ts
β β βββ hash.ts
β β βββ key.ts
β β βββ salt.ts
β β βββ ulid.ts
β βββ data
β β βββ constants.ts
β β βββ schema.ts
β β βββ types.ts
β βββ db.ts
β βββ routes
β β βββ authenticate.ts
β β βββ exchange.ts
β β βββ grant.ts
β β βββ not_found.ts
β β βββ refresh.ts
β β βββ resource.ts
β β βββ sign_in.ts
β β βββ sign_up.ts
β β βββ status.ts
β βββ utils
β βββ elapse.ts
β βββ intercept.ts
β βββ match.ts
β βββ response.ts
β βββ result.ts
βββ main.ts
βββ README.md