Revisions for ⁨oAuth Snippet⁩

View the changes made to this paste.

unlisted ⁨1⁩ ⁨file⁩ 2022-11-14 16:36:17 UTC

index.jsx

@@ -0,0 +1,26 @@

+if(sessionStorage.getItem("state") == null {
+  let state = await axios.post("https://backend.<mydomain.tld>/oauth/login");
+sessionStorage.setItem("state", state.data);
+} else {
+  const search new URLSearchParams(location.search);
+  if(search.get("state") == sessionStorage.getItem("state")) {
+    const code = search.get("code");
+    sessionStorage.setItem("code", code);
+
+    var authorizationData = new URLSearchParams();
+    authorizationData.append("code", code);
+    authorizationData.append("client_id", "<service-client-id>");
+    authorizationData.append("client_secret", "<service-client-secret");
+    authorizationData.append("redirect_uri", "https://<mydomain.tld>/<path>/<to>/<login>/");
+    authorizationData.append("grant_type", "authorization_code");
+    
+    let response = axios.post("https://auth.<mydomain.tld>/application/o/token/", authorizationData, {
+      headers: {
+        'Access-Control-Allow-Credentials': 'true',      
+        'Access-Control-Allow-Origin': '*',
+        'Access-Control-Allow-Methods': '*',
+        'Access-Control-Allow-Headers': '*'.
+      }
+    });
+  }
+}
\ No newline at end of file