arch: move web folder into api & move api to top level
19
README.md
@ -15,3 +15,22 @@ TODO
|
||||
## Installation
|
||||
|
||||
## License
|
||||
|
||||
## Authentication
|
||||
|
||||
Uses a refresh_token and access_token system.
|
||||
|
||||
The refresh_token is an opaque UUID based token. The access_token is a JWT
|
||||
token containing several claims such as `sub` & `roles`
|
||||
|
||||
The refresh_token is stored in a database and is long lived (24 hours). It is sent to the client
|
||||
as a cookie set to be `HttpOnly`.
|
||||
|
||||
The access_token is not stored in the database & is only stored in memory on the client side.
|
||||
It is short lived (5 minutes).
|
||||
|
||||
The access_token is used to authenticate all endpoints except endpoints under /auth
|
||||
|
||||
The access_token is refreshed using the refresh_token through the /auth/refresh_token endpoint.
|
||||
This endpoint takes in the refresh_token set VIA a cookie header & returns a new refresh_token & access_token
|
||||
if the refresh_token is still valid. The old refresh_token is invalidated.
|
||||
|
@ -1,18 +0,0 @@
|
||||
## Authentication
|
||||
|
||||
Uses a refresh_token and access_token system.
|
||||
|
||||
The refresh_token is an opaque UUID based token. The access_token is a JWT
|
||||
token containing several claims such as `sub` & `roles`
|
||||
|
||||
The refresh_token is stored in a database and is long lived (24 hours). It is sent to the client
|
||||
as a cookie set to be `HttpOnly`.
|
||||
|
||||
The access_token is not stored in the database & is only stored in memory on the client side.
|
||||
It is short lived (5 minutes).
|
||||
|
||||
The access_token is used to authenticate all endpoints except endpoints under /auth
|
||||
|
||||
The access_token is refreshed using the refresh_token through the /auth/refresh_token endpoint.
|
||||
This endpoint takes in the refresh_token set VIA a cookie header & returns a new refresh_token & access_token
|
||||
if the refresh_token is still valid. The old refresh_token is invalidated.
|
@ -1,69 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="64"
|
||||
height="64"
|
||||
viewBox="0 0 12.7 12.7"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
sodipodi:docname="favicon.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14">
|
||||
<metadata
|
||||
id="metadata14">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs12" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1908"
|
||||
inkscape:window-height="983"
|
||||
id="namedview10"
|
||||
showgrid="false"
|
||||
inkscape:zoom="7.375"
|
||||
inkscape:cx="5.2026609"
|
||||
inkscape:cy="37.687216"
|
||||
inkscape:window-x="6"
|
||||
inkscape:window-y="6"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="g6" />
|
||||
<g
|
||||
transform="translate(-.26 -24.137) scale(.1249)"
|
||||
id="g6"
|
||||
style="stroke-width:17.47648118;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<path
|
||||
d="M50.886 286.515l-40.4-44.46 44.459-40.401 40.401 44.46z"
|
||||
fill="none"
|
||||
stroke="#000"
|
||||
strokeWidth="11.90597031"
|
||||
id="path2"
|
||||
style="stroke-width:7.94385508;stroke-miterlimit:4;stroke-dasharray:none;stroke:#7367f0;stroke-opacity:1" />
|
||||
<circle
|
||||
cx="52.917"
|
||||
cy="244.083"
|
||||
r="11.025"
|
||||
fill="#000"
|
||||
id="circle4"
|
||||
style="stroke-width:17.47648118;stroke-miterlimit:4;stroke-dasharray:none;fill:#7367f0;fill-opacity:1" />
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.1 KiB |
1
web/.gitignore → frontend/.gitignore
vendored
@ -18,6 +18,7 @@
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
|
||||
report*
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
Before Width: | Height: | Size: 295 KiB After Width: | Height: | Size: 295 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |