The configuration is a JSON file, an example is located [here](build/config.json). If your editor supports intellisense by using a schema (e.g. [VS Code](https://github.com/Microsoft/vscode)) then you can simply press space for auto completion.
The configuration is a JSON file, an example is located [here](build/config.json). If your editor supports intellisense by using a schema (e.g. [VS Code](https://github.com/Microsoft/vscode)) then you can simply press space for auto completion. The config parameters should be really selfexplaning, but [here](build/schema.md) is a detailed description for all of these:
The config parameters should be really selfexplaning, but here is a detailed description for all of these:
TODO: Add config parameters
## OAuth
## OAuth
### Google
### Google
Visit [console.cloud.google.com](https://console.cloud.google.com) and create or use an existing project, goto `APIs & Services` -> `Credentials` and create there an `OAuth Client-ID` for the application type `Webapplicaton`. There you get the Client-ID and the ClientSecret for your configuration. It's important, that you set in the Google Cloud Platform `YOUR_URL/api/v1/callback` as authorized redirect URL.
Visit [console.cloud.google.com](https://console.cloud.google.com) and create or use an existing project, goto `APIs & Services` -> `Credentials` and create there an `OAuth Client-ID` for the application type `Webapplicaton`. There you get the Client-ID and the ClientSecret for your configuration. It's important, that you set in the Google Cloud Platform `YOUR_URL/api/v1/callback` as authorized redirect URL.
## Clients
## Clients
@ -53,18 +49,30 @@ In general the `POST` endpoints can be called, by using one of the following tec
- application/x-www-form-urlencoded
- application/x-www-form-urlencoded
- multipart/form-data
- multipart/form-data
For all the endpoints which have `protected` in her path there is the `Authorization` header required.
For all the endpoints which are on `/api/v1/protected` there is the `Authorization` header required.
### [ShareX](https://github.com/ShareX/ShareX)
### [ShareX](https://github.com/ShareX/ShareX)
For ShareX usage, we refer to the menu item in the frontend where your configuration will be generated. There are further information for the detailled use.
For ShareX usage, we refer to the menu item in the frontend where your configuration will be generated. There are further information for the detailed use.
## Why did you built this
## Why did you built this
Just only because I want to extend my current self hosted URL shorter and learn about new techniques like:
Just only because I want to extend my current self hosted URL shorter with some features and learn about new techniques like: