@webda/google-auth 4.0.0-beta.2 → 4.0.0-beta.4

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.
@@ -1,227 +0,0 @@
1
- import { OAuthService, OAuthServiceParameters, WebdaError } from "@webda/core";
2
- import { OAuth2Client } from "google-auth-library";
3
- import * as http from "http";
4
- /**
5
- * Credentials to manage Google Auth
6
- * https://developers.google.com/identity/protocols/oauth2
7
- */
8
- export class GoogleParameters extends OAuthServiceParameters {
9
- constructor(params) {
10
- super(params);
11
- this.access_type ?? (this.access_type = "online");
12
- }
13
- }
14
- /**
15
- * Manage Google Authentication
16
- *
17
- * @WebdaModda
18
- */
19
- export default class GoogleAuthentication extends OAuthService {
20
- /**
21
- * Return provider name
22
- * @returns
23
- */
24
- getName() {
25
- return "google";
26
- }
27
- /**
28
- * Allow every accounts.google.
29
- */
30
- getCallbackReferer() {
31
- return [/accounts\.google\.[a-z]+$/];
32
- }
33
- /**
34
- * Get OAuth callback query parameters
35
- * @returns
36
- */
37
- getCallbackQueryParams() {
38
- return [
39
- {
40
- name: "code",
41
- required: true
42
- },
43
- {
44
- name: "scope",
45
- required: true
46
- },
47
- {
48
- name: "state",
49
- required: true
50
- },
51
- {
52
- name: "authuser",
53
- required: false
54
- },
55
- {
56
- name: "hd",
57
- required: false
58
- },
59
- {
60
- name: "prompt",
61
- required: false
62
- }
63
- ];
64
- }
65
- /**
66
- * Expose on /google by default
67
- */
68
- getDefaultUrl() {
69
- return "/google";
70
- }
71
- /**
72
- * We manage Google Auth Token
73
- */
74
- hasToken() {
75
- return true;
76
- }
77
- /**
78
- * @inheritdoc
79
- */
80
- loadParameters(params) {
81
- return new GoogleParameters(params);
82
- }
83
- /**
84
- *
85
- * @param redirect_uri
86
- * @param state
87
- */
88
- generateAuthUrl(redirect_uri, state, _ctx) {
89
- const oauthClient = this.getOAuthClient(redirect_uri);
90
- return oauthClient.generateAuthUrl({
91
- access_type: this.parameters.access_type,
92
- scope: this.parameters.scope,
93
- redirect_uri,
94
- response_type: "code",
95
- state,
96
- ...this.parameters.auth_options
97
- });
98
- }
99
- /**
100
- * Return a google oauth client
101
- * @param redirect_uri
102
- */
103
- getOAuthClient(redirect_uri) {
104
- return new OAuth2Client(this.parameters.client_id, this.parameters.client_secret, redirect_uri);
105
- }
106
- /**
107
- * @inheritdoc
108
- */
109
- async handleCallback(ctx) {
110
- // Verify state are equal
111
- if (ctx.getParameters().state !== ctx.getSession().oauth?.state) {
112
- this.log("WARN", `Bad State ${ctx.getParameters().state} !== ${ctx.getSession().oauth?.state}`);
113
- throw new WebdaError.Forbidden("Bad State");
114
- }
115
- const code = ctx.getParameters().code;
116
- const redirect_uri = ctx.getHttpContext().getAbsoluteUrl(`${this.parameters.url}/callback`);
117
- const oauthClient = this.getOAuthClient(redirect_uri);
118
- let profile, identId;
119
- // Now that we have the code, use that to acquire tokens.
120
- try {
121
- const r = await oauthClient.getToken(code);
122
- this.emitSync("GoogleAuth.Tokens", { tokens: r.tokens, context: ctx });
123
- profile = await this.getUserInfo(r.tokens.id_token);
124
- identId = profile.sub;
125
- }
126
- catch (err) {
127
- this.log("ERROR", err);
128
- throw new WebdaError.Forbidden("OAuth Error");
129
- }
130
- return {
131
- identId,
132
- profile
133
- };
134
- }
135
- /**
136
- * Retrieve the user profile based on the token
137
- * @param token
138
- * @returns
139
- */
140
- async getUserInfo(token) {
141
- const oauthClient = this.getOAuthClient();
142
- const ticket = await oauthClient.verifyIdToken({
143
- idToken: token,
144
- audience: this.parameters.client_id
145
- });
146
- return ticket.getPayload();
147
- }
148
- /**
149
- * Verify a Google Auth Token
150
- */
151
- async handleToken(context) {
152
- const tokens = (await context.getRequestBody()).tokens;
153
- if (!tokens) {
154
- throw new WebdaError.BadRequest("No tokens provided");
155
- }
156
- const profile = await this.getUserInfo(tokens.id_token);
157
- return {
158
- identId: profile.sub,
159
- profile
160
- };
161
- }
162
- /**
163
- * Retrieve Google Client
164
- *
165
- * Redirecting to the webbrowser for the OAuth validation
166
- * Store the token in user store afterwards
167
- */
168
- async getLocalClient(token, open, storeToken) {
169
- if (this._client) {
170
- return this._client;
171
- }
172
- const oAuth2Client = this.getOAuthClient();
173
- if (token) {
174
- oAuth2Client.setCredentials(token);
175
- this._client = oAuth2Client;
176
- return oAuth2Client;
177
- }
178
- // Generate the url that will be used for the consent dialog.
179
- const authorizeUrl = oAuth2Client.generateAuthUrl({
180
- access_type: "offline",
181
- scope: this.parameters.scope,
182
- redirect_uri: "http://localhost:3000/oauth2callback"
183
- });
184
- // Open an http server to accept the oauth callback. In this simple example, the
185
- // only request to our webserver is to /oauth2callback?code=<code>
186
- return new Promise((resolve, reject) => {
187
- const server = http
188
- .createServer(async (req, res) => {
189
- if (req.url.indexOf("/oauth2callback") > -1) {
190
- try {
191
- // acquire the code from the querystring, and close the web server.
192
- const code = new URL(req.url, `http://localhost:3000`).searchParams.get("code");
193
- if (code) {
194
- res.end("Authentication successful! Please return to the console.");
195
- }
196
- else {
197
- res.end("Authentication unsuccessful! Please return to the console.");
198
- return reject("Failed");
199
- }
200
- // Now that we have the code, use that to acquire tokens.
201
- const r = await oAuth2Client.getToken(code);
202
- // Make sure to set the credentials on the OAuth2 client.
203
- storeToken(r.tokens);
204
- oAuth2Client.setCredentials(r.tokens);
205
- this._client = oAuth2Client;
206
- this.log("INFO", "Google Authentication finished.");
207
- return resolve(this._client);
208
- }
209
- catch (err) {
210
- console.log(err);
211
- reject(err);
212
- }
213
- finally {
214
- server.close();
215
- }
216
- }
217
- })
218
- .listen(3000, () => {
219
- // open the browser to the authorize url to start the workflow
220
- this.log("INFO", "Launching your browser for Google API Permission");
221
- open(authorizeUrl);
222
- });
223
- });
224
- }
225
- }
226
- export { GoogleAuthentication };
227
- //# sourceMappingURL=google-auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"google-auth.js","sourceRoot":"","sources":["../src/google-auth.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=google-auth.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"google-auth.spec.d.ts","sourceRoot":"","sources":["../src/google-auth.spec.ts"],"names":[],"mappings":""}
@@ -1,131 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { suite, test } from "@testdeck/mocha";
8
- import { WebdaError } from "@webda/core";
9
- import { WebdaTest } from "@webda/core/lib/test.js";
10
- import * as assert from "assert";
11
- import fetch from "node-fetch";
12
- import { GoogleAuthentication } from "./google-auth.js";
13
- let GoogleAuthTest = class GoogleAuthTest extends WebdaTest {
14
- async before() {
15
- await super.before();
16
- this.service = new GoogleAuthentication(this.webda, "google", {
17
- client_id: "fake",
18
- client_secret: "secret"
19
- });
20
- }
21
- cov() {
22
- assert.strictEqual(this.service.getName(), "google");
23
- assert.strictEqual(this.service.getDefaultUrl(), "/google");
24
- assert.deepStrictEqual(this.service.getCallbackReferer(), [/accounts\.google\.[a-z]+$/]);
25
- assert.strictEqual(this.service.hasToken(), true);
26
- assert.strictEqual(this.service.getCallbackQueryParams().length, 6);
27
- }
28
- generateAuthUrl() {
29
- const url = this.service.generateAuthUrl("plopor", "myState", undefined);
30
- assert.strictEqual(url, "https://accounts.google.com/o/oauth2/v2/auth?access_type=online&scope=email&redirect_uri=plopor&response_type=code&state=myState&client_id=fake");
31
- }
32
- mockClient() {
33
- // Mock client
34
- // @ts-ignore
35
- this.service.getOAuthClient = () => {
36
- return {
37
- getToken: async (arg) => {
38
- if (arg === "u1")
39
- return { tokens: { id_token: arg } };
40
- },
41
- generateAuthUrl: () => {
42
- return "/";
43
- },
44
- setCredentials: () => { },
45
- verifyIdToken: async (args) => {
46
- if (args.idToken === "u1") {
47
- return {
48
- getPayload: () => {
49
- return {
50
- sub: "u1",
51
- email: "u1@webda.io"
52
- };
53
- }
54
- };
55
- }
56
- }
57
- };
58
- };
59
- }
60
- async tokenAndCallback() {
61
- var _a;
62
- this.mockClient();
63
- let ctx = await this.newContext();
64
- // Verify normal callback
65
- ctx.getParameters().state = "plop";
66
- (_a = ctx.getSession()).oauth ?? (_a.oauth = {});
67
- ctx.getSession().oauth.state = "bouzouf";
68
- await assert.rejects(() => this.service.handleCallback(ctx), WebdaError.Forbidden);
69
- ctx.getSession().oauth.state = "plop";
70
- ctx.getParameters().code = "u1";
71
- assert.deepStrictEqual(await this.service.handleCallback(ctx), {
72
- identId: "u1",
73
- profile: { sub: "u1", email: "u1@webda.io" }
74
- });
75
- ctx.getParameters().code = "u2";
76
- await assert.rejects(() => this.service.handleCallback(ctx), WebdaError.Forbidden);
77
- // Verify tokens verification
78
- await assert.rejects(() => this.service.handleToken(ctx), WebdaError.BadRequest);
79
- ctx = await this.newContext({ tokens: { id_token: "u1" } });
80
- assert.deepStrictEqual(await this.service.handleToken(ctx), {
81
- identId: "u1",
82
- profile: { sub: "u1", email: "u1@webda.io" }
83
- });
84
- }
85
- async localClient() {
86
- const fakeClient = {};
87
- // @ts-ignore
88
- this.service._client = fakeClient;
89
- assert.strictEqual(await this.service.getLocalClient(null, null, null), fakeClient);
90
- // @ts-ignore
91
- this.service._client = undefined;
92
- const client = await this.service.getLocalClient({ id_token: "mytoken" }, null, null);
93
- assert.deepStrictEqual(client.credentials, { id_token: "mytoken" });
94
- // @ts-ignore
95
- this.service._client = undefined;
96
- let calledUrl;
97
- await assert.rejects(async () => this.service.getLocalClient(null, url => {
98
- calledUrl = url;
99
- fetch("http://localhost:3000/oauth2callback", undefined);
100
- }, null), /Failed/);
101
- this.mockClient();
102
- await assert.rejects(async () => this.service.getLocalClient(null, url => {
103
- fetch("http://localhost:3000/oauth2callback?code=u2", undefined);
104
- }, null), /Cannot read propert/);
105
- let token;
106
- await this.service.getLocalClient(null, url => {
107
- // cov only
108
- fetch("http://localhost:3000/cov", {});
109
- fetch("http://localhost:3000/oauth2callback?code=u1", {});
110
- }, async (t) => {
111
- token = t;
112
- });
113
- assert.strictEqual(calledUrl, "https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&scope=email&redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Foauth2callback&response_type=code&client_id=fake");
114
- }
115
- };
116
- __decorate([
117
- test
118
- ], GoogleAuthTest.prototype, "cov", null);
119
- __decorate([
120
- test
121
- ], GoogleAuthTest.prototype, "generateAuthUrl", null);
122
- __decorate([
123
- test
124
- ], GoogleAuthTest.prototype, "tokenAndCallback", null);
125
- __decorate([
126
- test
127
- ], GoogleAuthTest.prototype, "localClient", null);
128
- GoogleAuthTest = __decorate([
129
- suite
130
- ], GoogleAuthTest);
131
- //# sourceMappingURL=google-auth.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"google-auth.spec.js","sourceRoot":"","sources":["../src/google-auth.spec.ts"],"names":[],"mappings":"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"}