-
Notifications
You must be signed in to change notification settings - Fork 0
/
login.js
65 lines (56 loc) · 1.9 KB
/
login.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
function extractAccessTokenFromURL() {
var hash = window.location.hash.substring(1);
var params = new URLSearchParams(hash);
return params.get("access_token");
}
function getUserData(accessToken) {
fetch("https://www.googleapis.com/drive/v3/about", {
headers: {
Authorization: "Bearer " + accessToken,
},
})
.then((response) => response.json())
.then((data) => {
console.log("User Data:", data);
})
.catch((error) => console.error("Error fetching user data:", error));
}
function oauthSignIn() {
// Google's OAuth 2.0 endpoint for requesting an access token
var oauth2Endpoint = "https://accounts.google.com/o/oauth2/v2/auth";
// Create <form> element to submit parameters to OAuth 2.0 endpoint.
var form = document.createElement("form");
form.setAttribute("method", "GET"); // Send as a GET request.
form.setAttribute("action", oauth2Endpoint);
// Parameters to pass to OAuth 2.0 endpoint.
var params = {
client_id:
"160027367801-m3en2sdk8jhikuhupe5sqnd9urot9dlp.apps.googleusercontent.com",
redirect_uri: "https://ca.wissenaire.org/Contact-form/dist/index.html",
response_type: "token",
scope: "profile email",
state: "pass-through value",
};
// Add form parameters as hidden input values.
for (var p in params) {
var input = document.createElement("input");
input.setAttribute("type", "hidden");
input.setAttribute("name", p);
input.setAttribute("value", params[p]);
form.appendChild(input);
}
// Add form to page and submit it to open the OAuth 2.0 endpoint.
document.body.appendChild(form);
form.submit();
}
// Entry point after redirect
function handleOAuthRedirect() {
var accessToken = extractAccessTokenFromURL();
if (accessToken) {
getUserData(accessToken);
} else {
console.error("No access token found in the URL.");
}
}
// Call the function to handle the redirect
handleOAuthRedirect();