@minimaltech/node-infra 0.5.10-10 → 0.5.10-11
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/components/authenticate/services/oauth2.service.d.ts +2 -0
- package/dist/components/authenticate/services/oauth2.service.d.ts.map +1 -1
- package/dist/components/authenticate/services/oauth2.service.js +12 -4
- package/dist/components/authenticate/services/oauth2.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BaseApplication } from '../../../base/applications';
|
|
2
|
+
import { AxiosNetworkRequest } from '../../../helpers';
|
|
2
3
|
import { RequestContext } from '@loopback/rest';
|
|
3
4
|
import { Request, Response, Token } from '@node-oauth/oauth2-server';
|
|
4
5
|
import { BaseService } from '../../../base/services';
|
|
@@ -10,6 +11,7 @@ export declare class OAuth2Service extends BaseService {
|
|
|
10
11
|
private handler;
|
|
11
12
|
private oauth2ClientRepository;
|
|
12
13
|
private aes;
|
|
14
|
+
protected networkRequest: AxiosNetworkRequest;
|
|
13
15
|
constructor(application: BaseApplication, handler: OAuth2Handler, oauth2ClientRepository: OAuth2ClientRepository);
|
|
14
16
|
encryptClientToken(opts: {
|
|
15
17
|
clientId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth2.service.d.ts","sourceRoot":"","sources":["../../../../src/components/authenticate/services/oauth2.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth2.service.d.ts","sourceRoot":"","sources":["../../../../src/components/authenticate/services/oauth2.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAA+B,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAG7E,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAkC,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,qBAAa,aAAc,SAAQ,WAAW;IAM1C,OAAO,CAAC,WAAW;IACsB,OAAO,CAAC,OAAO;IAExD,OAAO,CAAC,sBAAsB;IARhC,OAAO,CAAC,GAAG,CAAoC;IAC/C,SAAS,CAAC,cAAc,EAAE,mBAAmB,CAAC;gBAIpC,WAAW,EAAE,eAAe,EACa,OAAO,EAAE,aAAa,EAE/D,sBAAsB,EAAE,sBAAsB;IAWxD,kBAAkB,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE;IASnE,kBAAkB,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;;;;IAmB1C,oBAAoB,CAAC,IAAI,EAAE;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAoDpC,aAAa,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE;IAc5D,SAAS,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE;IAclD,QAAQ,CAAC,IAAI,EAAE;QACnB,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,UAAU,CAAC,CAAC;QACtD,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,aAAa,CAAC;QAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;;;;IA0DK,gBAAgB,CAAC,IAAI,EAAE;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,KAAK,CAAC;QACnB,gBAAgB,EAAE,OAAO,CAAC;KAC3B;CAyDF"}
|
|
@@ -31,6 +31,10 @@ let OAuth2Service = OAuth2Service_1 = class OAuth2Service extends services_1.Bas
|
|
|
31
31
|
this.handler = handler;
|
|
32
32
|
this.oauth2ClientRepository = oauth2ClientRepository;
|
|
33
33
|
this.aes = helpers_1.AES.withAlgorithm('aes-256-cbc');
|
|
34
|
+
this.networkRequest = new helpers_1.AxiosNetworkRequest({
|
|
35
|
+
name: 'OAuth2Request',
|
|
36
|
+
networkOptions: {},
|
|
37
|
+
});
|
|
34
38
|
}
|
|
35
39
|
// --------------------------------------------------------------------------------
|
|
36
40
|
encryptClientToken(opts) {
|
|
@@ -174,22 +178,26 @@ let OAuth2Service = OAuth2Service_1 = class OAuth2Service extends services_1.Bas
|
|
|
174
178
|
authorizationCode,
|
|
175
179
|
accessTokenExpiresAt,
|
|
176
180
|
provider: client.provider,
|
|
177
|
-
user,
|
|
181
|
+
user: Object.assign({}, user),
|
|
178
182
|
};
|
|
179
183
|
if (useImplicitGrant) {
|
|
180
184
|
Object.assign(payload, { accessToken });
|
|
181
185
|
}
|
|
186
|
+
const networkService = this.networkRequest.getNetworkService();
|
|
182
187
|
const tasks = callbackUrls.map(callbackUrl => {
|
|
183
188
|
return () => {
|
|
184
189
|
return new Promise((resolve, reject) => {
|
|
185
|
-
|
|
190
|
+
const body = Object.assign({}, payload);
|
|
191
|
+
networkService
|
|
192
|
+
.send({
|
|
186
193
|
method: 'POST',
|
|
187
|
-
|
|
194
|
+
url: callbackUrl,
|
|
195
|
+
body,
|
|
188
196
|
headers: { ['content-type']: 'application/x-www-form-urlencoded' },
|
|
189
197
|
})
|
|
190
198
|
.then(rs => {
|
|
191
199
|
this.logger.info('[doClientCallback] Successfull to callback | Url: %s', callbackUrl);
|
|
192
|
-
resolve(rs);
|
|
200
|
+
resolve(rs.data);
|
|
193
201
|
})
|
|
194
202
|
.catch(error => {
|
|
195
203
|
this.logger.error('[doClientCallback] Failed to callback | Url: %s | Error: %s', callbackUrl, error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth2.service.js","sourceRoot":"","sources":["../../../../src/components/authenticate/services/oauth2.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAsD;AACtD,qCAA2C;AAC3C,
|
|
1
|
+
{"version":3,"file":"oauth2.service.js","sourceRoot":"","sources":["../../../../src/components/authenticate/services/oauth2.service.ts"],"names":[],"mappings":"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"}
|