diff options
| author | Martial Simon <msimon_fr@hotmail.com> | 2025-09-15 01:08:27 +0200 |
|---|---|---|
| committer | Martial Simon <msimon_fr@hotmail.com> | 2025-09-15 01:08:27 +0200 |
| commit | c9b6b9a5ca082fe7c1b6f58d7713f785a9eb6a5c (patch) | |
| tree | 3e4f42f93c7ae89a364e4d51fff6e5cec4e55fa9 /rushs/eplace/src/pages/complete/epita/index.js | |
add: graphs et rushs
Diffstat (limited to 'rushs/eplace/src/pages/complete/epita/index.js')
| -rw-r--r-- | rushs/eplace/src/pages/complete/epita/index.js | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/rushs/eplace/src/pages/complete/epita/index.js b/rushs/eplace/src/pages/complete/epita/index.js new file mode 100644 index 0000000..ced46cf --- /dev/null +++ b/rushs/eplace/src/pages/complete/epita/index.js @@ -0,0 +1,53 @@ +// FIXME: This file should handle the auth redirection + +// Get the code from the URL parameters and redirect to the relevant page +const params = new URLSearchParams(window.location.search); + +const code = params.get("code"); +const form = new FormData(); + +form.append("client_id", import.meta.env.VITE_CLIENT_ID); +form.append("redirect_uri", `${import.meta.env.VITE_URL}/complete/epita/`); +form.append("grant_type", "authorization_code"); +form.append("code", code); +const config = { + method: "POST", + body: form, +}; + +export async function getToken() { + try { + const res = await fetch( + `${import.meta.env.VITE_URL}/auth-api/token`, + config, + ); + const response = await res.json(); + + const token = response.id_token; + + localStorage.setItem("token", token); + localStorage.setItem("refresh_token", response.refresh_token); + window.location.replace(import.meta.env.VITE_URL); + return true; + } catch (error) { + console.log(error); + return false; + } +} + +if (!code) { + const authQueryParams = { + client_id: import.meta.env.VITE_CLIENT_ID, + scope: "epita profile picture", + redirect_uri: `${import.meta.env.VITE_URL}/complete/epita/`, + response_type: "code", + }; + const url = new URL( + `?client_id=${authQueryParams.client_id}&scope=${authQueryParams.scope}&redirect_uri=${authQueryParams.redirect_uri}&response_type=${authQueryParams.response_type}`, + `${import.meta.env.VITE_AUTH_URL}/authorize`, + ); + + window.location.replace(url); +} else { + getToken(); +} |
