User login with secure JWT cookie return
This commit is contained in:
parent
f7eb8bc9b9
commit
8b8b0f1b96
@ -1,8 +1,21 @@
|
|||||||
|
import { userLogin } from "../../http_routs/userHttp";
|
||||||
|
|
||||||
export default function LogIn() {
|
export default function LogIn() {
|
||||||
|
function logInFunction(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
|
console.log("Log In");
|
||||||
|
const formData = new FormData(event.target);
|
||||||
|
const data = Object.fromEntries(formData.entries());
|
||||||
|
|
||||||
|
console.log(data);
|
||||||
|
userLogin(data.user_name, data.password);
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="LHS">
|
<div className="LHS">
|
||||||
<h2>Log In</h2>
|
<h2>Log In</h2>
|
||||||
<form>
|
<form onSubmit={logInFunction}>
|
||||||
<div className="form-elements">
|
<div className="form-elements">
|
||||||
<div>
|
<div>
|
||||||
<label>user name</label>
|
<label>user name</label>
|
||||||
|
|||||||
@ -26,8 +26,27 @@ export async function createUserNewAdmin(signUpObject = {}) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* this method is used to log-in
|
* this function is used to log-in
|
||||||
* it uses the basic auth log-in technique
|
* it uses the basic auth log-in technique
|
||||||
* if successful a JWT token will be returned from the backend
|
* if successful a JWT token will be returned from the backend
|
||||||
* use the JWT token for every subsequent request
|
* use the JWT token for every subsequent request
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
//user login data
|
||||||
|
export async function userLogin(username, password) {
|
||||||
|
//make an http get request for userLogin login
|
||||||
|
|
||||||
|
const loginResp = await fetch(`${socket}/open/login`, {
|
||||||
|
method: `GET`,
|
||||||
|
headers: basicAuthCredentialsBuilder(username, password),
|
||||||
|
credentials: "include", // <-- VERY IMPORTANT
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//common basic auth header builder
|
||||||
|
function basicAuthCredentialsBuilder(username, password) {
|
||||||
|
//builds the appropriate format for basic auth
|
||||||
|
return {
|
||||||
|
Authorization: "Basic " + window.btoa(username + ":" + password),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user