Checking authentication on the backend
This commit is contained in:
parent
a9ab175407
commit
7ef68d030b
2
Makefile
2
Makefile
@ -1,5 +1,5 @@
|
|||||||
STRIPE_SECRET=$(shell sed '2q;d' cred.txt)
|
STRIPE_SECRET=$(shell sed '2q;d' cred.txt)
|
||||||
STRIPE_KEY=$(shell sed '2q;d' cred.txt)
|
STRIPE_KEY=$(shell sed '1q;d' cred.txt)
|
||||||
GOSTRIPE_PORT=4000
|
GOSTRIPE_PORT=4000
|
||||||
API_PORT=4001
|
API_PORT=4001
|
||||||
DSN=vinchent:secret@tcp(localhost:3306)/widgets?parseTime=true&tls=false
|
DSN=vinchent:secret@tcp(localhost:3306)/widgets?parseTime=true&tls=false
|
||||||
|
@ -297,3 +297,7 @@ func (app *application) CreateAuthToken(w http.ResponseWriter, r *http.Request)
|
|||||||
|
|
||||||
_ = app.writeJSON(w, http.StatusOK, payload)
|
_ = app.writeJSON(w, http.StatusOK, payload)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (app *application) CheckAuthentication(w http.ResponseWriter, r *http.Request) {
|
||||||
|
app.invalidCredentials(w)
|
||||||
|
}
|
||||||
|
@ -23,6 +23,7 @@ func (app *application) routes() http.Handler {
|
|||||||
mux.Post("/api/create-customer-and-subscribe-to-plan", app.CreateCustomerAndSubscribeToPlan)
|
mux.Post("/api/create-customer-and-subscribe-to-plan", app.CreateCustomerAndSubscribeToPlan)
|
||||||
|
|
||||||
mux.Post("/api/authenticate", app.CreateAuthToken)
|
mux.Post("/api/authenticate", app.CreateAuthToken)
|
||||||
|
mux.Post("/api/is-authenticated", app.CheckAuthentication)
|
||||||
|
|
||||||
return mux
|
return mux
|
||||||
}
|
}
|
||||||
|
@ -76,8 +76,10 @@ Virtual Terminal
|
|||||||
{{ define "js" }}
|
{{ define "js" }}
|
||||||
<script src="https://js.stripe.com/v3/"></script>
|
<script src="https://js.stripe.com/v3/"></script>
|
||||||
<script type="module">
|
<script type="module">
|
||||||
import {stripeInit} from "/static/js/common.js";
|
import {stripeInit, checkAuth} from "/static/js/common.js";
|
||||||
import {val} from "/static/js/stripe.js"
|
import {val} from "/static/js/stripe.js"
|
||||||
|
|
||||||
|
checkAuth({{.API}});
|
||||||
stripeInit('{{.StripePubKey}}');
|
stripeInit('{{.StripePubKey}}');
|
||||||
document.getElementById("charge_amount").addEventListener("change", (evt) => {
|
document.getElementById("charge_amount").addEventListener("change", (evt) => {
|
||||||
if (evt.target.value !== "") {
|
if (evt.target.value !== "") {
|
||||||
|
@ -62,3 +62,32 @@ export function stripeInit(pubKey) {
|
|||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function checkAuth(api) {
|
||||||
|
if (localStorage.getItem("token") === null) {
|
||||||
|
location.href = "/login";
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
let token = localStorage.getItem("token")
|
||||||
|
const myHeaders = new Headers();
|
||||||
|
myHeaders.append("Content-Type", "application/json");
|
||||||
|
myHeaders.append("Authorization", "Bearer " + token);
|
||||||
|
|
||||||
|
const requestOptions = {
|
||||||
|
method: "POST",
|
||||||
|
Headers: myHeaders,
|
||||||
|
}
|
||||||
|
|
||||||
|
fetch(api + "/api/is-authenticated", requestOptions)
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(function(data) {
|
||||||
|
if (data.error === true) {
|
||||||
|
console.log("not logged in");
|
||||||
|
location.href = "/login"
|
||||||
|
} else {
|
||||||
|
console.log("Logged in");
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user