sprint-artifact 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/utils/oauth2.d.ts.map +1 -1
- package/dist/utils/oauth2.js +43 -49
- package/dist/utils/oauth2.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth2.d.ts","sourceRoot":"","sources":["../../src/utils/oauth2.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAc3D,wBAAsB,eAAe,IAAI,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CA0BlG;AAED,wBAAsB,qBAAqB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMlF;AAED,wBAAsB,KAAK,CAAC,OAAO,CAAC,EAAE;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,OAAO,CAAC,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"oauth2.d.ts","sourceRoot":"","sources":["../../src/utils/oauth2.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAc3D,wBAAsB,eAAe,IAAI,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CA0BlG;AAED,wBAAsB,qBAAqB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMlF;AAED,wBAAsB,KAAK,CAAC,OAAO,CAAC,EAAE;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAkH7B"}
|
package/dist/utils/oauth2.js
CHANGED
|
@@ -77,7 +77,7 @@ export async function login(options) {
|
|
|
77
77
|
await new Promise((resolve) => server.listen(0, resolve));
|
|
78
78
|
const port = server.address().port;
|
|
79
79
|
server.close();
|
|
80
|
-
const redirectUri = `http://localhost:${port}
|
|
80
|
+
const redirectUri = `http://localhost:${port}`;
|
|
81
81
|
const oauth2Client = new google.auth.OAuth2(clientId, clientSecret, redirectUri);
|
|
82
82
|
const authUrl = oauth2Client.generateAuthUrl({
|
|
83
83
|
access_type: 'offline',
|
|
@@ -87,55 +87,49 @@ export async function login(options) {
|
|
|
87
87
|
return new Promise((resolve, reject) => {
|
|
88
88
|
const callbackServer = createServer(async (req, res) => {
|
|
89
89
|
const url = new URL(req.url, `http://localhost:${port}`);
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
<
|
|
120
|
-
<
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
resolve(credentials);
|
|
128
|
-
}
|
|
129
|
-
catch (err) {
|
|
130
|
-
res.writeHead(500, { 'Content-Type': 'text/html' });
|
|
131
|
-
res.end('<h1>Error</h1><p>Failed to get tokens</p>');
|
|
132
|
-
callbackServer.close();
|
|
133
|
-
reject(err);
|
|
134
|
-
}
|
|
90
|
+
const code = url.searchParams.get('code');
|
|
91
|
+
const error = url.searchParams.get('error');
|
|
92
|
+
if (error) {
|
|
93
|
+
res.writeHead(400, { 'Content-Type': 'text/html' });
|
|
94
|
+
res.end(`<h1>Error</h1><p>${error}</p>`);
|
|
95
|
+
callbackServer.close();
|
|
96
|
+
reject(new Error(`OAuth error: ${error}`));
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
if (!code) {
|
|
100
|
+
res.writeHead(400, { 'Content-Type': 'text/html' });
|
|
101
|
+
res.end('<h1>Error</h1><p>No code received</p>');
|
|
102
|
+
callbackServer.close();
|
|
103
|
+
reject(new Error('No authorization code received'));
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
try {
|
|
107
|
+
const { tokens } = await oauth2Client.getToken(code);
|
|
108
|
+
const credentials = {
|
|
109
|
+
client_id: clientId,
|
|
110
|
+
client_secret: clientSecret,
|
|
111
|
+
redirect_uris: [redirectUri],
|
|
112
|
+
refresh_token: tokens.refresh_token || undefined,
|
|
113
|
+
access_token: tokens.access_token || undefined,
|
|
114
|
+
token_expiry: tokens.expiry_date ? new Date(tokens.expiry_date).toISOString() : undefined,
|
|
115
|
+
};
|
|
116
|
+
res.writeHead(200, { 'Content-Type': 'text/html' });
|
|
117
|
+
res.end(`
|
|
118
|
+
<html>
|
|
119
|
+
<body style="font-family: sans-serif; text-align: center; padding: 50px;">
|
|
120
|
+
<h1 style="color: #4CAF50;">✓ Login Successful</h1>
|
|
121
|
+
<p>You can close this window and return to the terminal.</p>
|
|
122
|
+
</body>
|
|
123
|
+
</html>
|
|
124
|
+
`);
|
|
125
|
+
callbackServer.close();
|
|
126
|
+
resolve(credentials);
|
|
135
127
|
}
|
|
136
|
-
|
|
137
|
-
res.writeHead(
|
|
138
|
-
res.end();
|
|
128
|
+
catch (err) {
|
|
129
|
+
res.writeHead(500, { 'Content-Type': 'text/html' });
|
|
130
|
+
res.end('<h1>Error</h1><p>Failed to get tokens</p>');
|
|
131
|
+
callbackServer.close();
|
|
132
|
+
reject(err);
|
|
139
133
|
}
|
|
140
134
|
});
|
|
141
135
|
callbackServer.listen(port, () => {
|
package/dist/utils/oauth2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth2.js","sourceRoot":"","sources":["../../src/utils/oauth2.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"oauth2.js","sourceRoot":"","sources":["../../src/utils/oauth2.ts"],"names":[],"mappings":"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"}
|