@vtecx/vtecxnext 3.1.1 → 3.1.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.
@@ -258,6 +258,14 @@ export declare class VtecxNext {
258
258
  * @return status and message
259
259
  */
260
260
  login: (wsse: string, reCaptchaToken?: string) => Promise<StatusMessage>;
261
+ /**
262
+ * login with WSSE-APIKEY.
263
+ * Request authentication with WSSE-APIKEY.
264
+ * If the login is successful, sets the authentication information in a cookie.
265
+ * @param wsse WSSE-APIKEY
266
+ * @return status and message
267
+ */
268
+ loginWithWsseApiKey: (wsse: string) => Promise<StatusMessage>;
261
269
  /**
262
270
  * login with RXID.
263
271
  * If the login is successful, sets the authentication information in a cookie.
@@ -655,6 +663,15 @@ export declare class VtecxNext {
655
663
  * @return true
656
664
  */
657
665
  toPdf: (htmlTemplate: string, filename?: string) => Promise<boolean>;
666
+ /**
667
+ * Create PDF and put content.
668
+ * @param uri key
669
+ * @param bysize true if registering with specified size
670
+ * @param filename attachment file name
671
+ * @param arrayBuffer content (for batch or server action)
672
+ * @return message
673
+ */
674
+ putPdf: (uri: string, htmlTemplate: string) => Promise<Entry[]>;
658
675
  /**
659
676
  * put the signature of uri and revision.
660
677
  * @param uri key
@@ -1050,11 +1067,12 @@ export declare class VtecxNext {
1050
1067
  */
1051
1068
  changeTdid: () => Promise<MessageResponse>;
1052
1069
  /**
1070
+ * @deprecated
1053
1071
  * Merge an existing user with an line oauth user.
1054
- * @param rxid RXID
1072
+ * @param wsseApikey WSSE-APIKEY
1055
1073
  * @return user entry
1056
1074
  */
1057
- mergeOAuthUserLine: (rxid: string) => Promise<Entry>;
1075
+ mergeOAuthUserLine: (wsseApikey: string) => Promise<Entry>;
1058
1076
  /**
1059
1077
  * create group admin
1060
1078
  * @param CreateGroupadminInfo group name and uid list
@@ -1175,9 +1193,10 @@ export declare class VtecxNext {
1175
1193
  */
1176
1194
  private oauthLink;
1177
1195
  /**
1196
+ * @deprecated
1178
1197
  * Merge an existing user with an oauth user.
1179
1198
  * @param provider OAuth provider name
1180
- * @param rxid RXID
1199
+ * @param wsseApikey WSSE-APIKEY
1181
1200
  * @return user entry
1182
1201
  */
1183
1202
  private mergeOAuthUser;
package/dist/vtecxnext.js CHANGED
@@ -407,7 +407,7 @@ class VtecxNext {
407
407
  checkNotNull(wsse, 'Authentication information');
408
408
  // ログイン
409
409
  // reCAPTCHA tokenは任意
410
- const param = reCaptchaToken ? `&g-recaptcha-token=${reCaptchaToken}` : '';
410
+ const param = reCaptchaToken ? `&g-recaptcha-token=${encodeURIComponent(reCaptchaToken)}` : '';
411
411
  const method = 'GET';
412
412
  const url = `${SERVLETPATH_DATA}/?_login${param}`;
413
413
  const headers = { 'X-WSSE': `${wsse}` };
@@ -425,6 +425,36 @@ class VtecxNext {
425
425
  const data = await response.json();
426
426
  return { status: response.status, message: data.feed.title };
427
427
  };
428
+ /**
429
+ * login with WSSE-APIKEY.
430
+ * Request authentication with WSSE-APIKEY.
431
+ * If the login is successful, sets the authentication information in a cookie.
432
+ * @param wsse WSSE-APIKEY
433
+ * @return status and message
434
+ */
435
+ loginWithWsseApiKey = async (wsse) => {
436
+ //console.log('[vtecxnext login] start.')
437
+ // 入力チェック
438
+ checkNotNull(wsse, 'Authentication information');
439
+ // ログイン
440
+ const param = '';
441
+ const method = 'GET';
442
+ const url = `${SERVLETPATH_DATA}/?_login${param}`;
443
+ const headers = { 'X-WSSE-APIKEY': `${wsse}` };
444
+ let response;
445
+ try {
446
+ response = await this.requestVtecx(method, url, null, headers);
447
+ }
448
+ catch (e) {
449
+ throw newFetchError(e, true);
450
+ }
451
+ // vte.cxからのset-cookieを転記
452
+ this.setCookie(response);
453
+ // 引き続きAPIで処理を行う場合のため、set-cookie情報を保持しておく
454
+ this.setLoginCookie(response);
455
+ const data = await response.json();
456
+ return { status: response.status, message: data.feed.title };
457
+ };
428
458
  /**
429
459
  * login with RXID.
430
460
  * If the login is successful, sets the authentication information in a cookie.
@@ -1141,7 +1171,7 @@ class VtecxNext {
1141
1171
  checkNotNull(feed, 'Feed');
1142
1172
  // vte.cxへリクエスト
1143
1173
  const method = 'PUT';
1144
- const url = `${SERVLETPATH_PROVIDER}/?_sessionfeed=${name}`;
1174
+ const url = `${SERVLETPATH_PROVIDER}/?_sessionfeed=${encodeURIComponent(name)}`;
1145
1175
  let response;
1146
1176
  try {
1147
1177
  response = await this.requestVtecx(method, url, JSON.stringify(feed));
@@ -1169,7 +1199,7 @@ class VtecxNext {
1169
1199
  checkNotNull(entry, 'Entry');
1170
1200
  // vte.cxへリクエスト
1171
1201
  const method = 'PUT';
1172
- const url = `${SERVLETPATH_PROVIDER}/?_sessionentry=${name}`;
1202
+ const url = `${SERVLETPATH_PROVIDER}/?_sessionentry=${encodeURIComponent(name)}`;
1173
1203
  const feed = { feed: { entry: [entry] } };
1174
1204
  let response;
1175
1205
  try {
@@ -1198,7 +1228,7 @@ class VtecxNext {
1198
1228
  checkNotNull(str, 'String');
1199
1229
  // vte.cxへリクエスト
1200
1230
  const method = 'PUT';
1201
- const url = `${SERVLETPATH_PROVIDER}/?_sessionstring=${name}`;
1231
+ const url = `${SERVLETPATH_PROVIDER}/?_sessionstring=${encodeURIComponent(name)}`;
1202
1232
  const feed = { feed: { title: str } };
1203
1233
  let response;
1204
1234
  try {
@@ -1227,7 +1257,7 @@ class VtecxNext {
1227
1257
  checkNotNull(num, 'Number');
1228
1258
  // vte.cxへリクエスト
1229
1259
  const method = 'PUT';
1230
- const url = `${SERVLETPATH_PROVIDER}/?_sessionlong=${name}`;
1260
+ const url = `${SERVLETPATH_PROVIDER}/?_sessionlong=${encodeURIComponent(name)}`;
1231
1261
  const feed = { feed: { title: String(num) } };
1232
1262
  let response;
1233
1263
  try {
@@ -1256,7 +1286,7 @@ class VtecxNext {
1256
1286
  checkNotNull(num, 'Number');
1257
1287
  // vte.cxへリクエスト
1258
1288
  const method = 'PUT';
1259
- const url = `${SERVLETPATH_PROVIDER}/?_sessionincr=${name}&_num=${num}`;
1289
+ const url = `${SERVLETPATH_PROVIDER}/?_sessionincr=${encodeURIComponent(name)}&_num=${num}`;
1260
1290
  let response;
1261
1291
  try {
1262
1292
  response = await this.requestVtecx(method, url);
@@ -1284,7 +1314,7 @@ class VtecxNext {
1284
1314
  checkNotNull(name, 'Name');
1285
1315
  // vte.cxへリクエスト
1286
1316
  const method = 'DELETE';
1287
- const url = `${SERVLETPATH_PROVIDER}/?_sessionfeed=${name}`;
1317
+ const url = `${SERVLETPATH_PROVIDER}/?_sessionfeed=${encodeURIComponent(name)}`;
1288
1318
  let response;
1289
1319
  try {
1290
1320
  response = await this.requestVtecx(method, url);
@@ -1310,7 +1340,7 @@ class VtecxNext {
1310
1340
  checkNotNull(name, 'Name');
1311
1341
  // vte.cxへリクエスト
1312
1342
  const method = 'DELETE';
1313
- const url = `${SERVLETPATH_PROVIDER}/?_sessionentry=${name}`;
1343
+ const url = `${SERVLETPATH_PROVIDER}/?_sessionentry=${encodeURIComponent(name)}`;
1314
1344
  let response;
1315
1345
  try {
1316
1346
  response = await this.requestVtecx(method, url);
@@ -1336,7 +1366,7 @@ class VtecxNext {
1336
1366
  checkNotNull(name, 'Name');
1337
1367
  // vte.cxへリクエスト
1338
1368
  const method = 'DELETE';
1339
- const url = `${SERVLETPATH_PROVIDER}/?_sessionstring=${name}`;
1369
+ const url = `${SERVLETPATH_PROVIDER}/?_sessionstring=${encodeURIComponent(name)}`;
1340
1370
  let response;
1341
1371
  try {
1342
1372
  response = await this.requestVtecx(method, url);
@@ -1362,7 +1392,7 @@ class VtecxNext {
1362
1392
  checkNotNull(name, 'Name');
1363
1393
  // vte.cxへリクエスト
1364
1394
  const method = 'DELETE';
1365
- const url = `${SERVLETPATH_PROVIDER}/?_sessionlong=${name}`;
1395
+ const url = `${SERVLETPATH_PROVIDER}/?_sessionlong=${encodeURIComponent(name)}`;
1366
1396
  let response;
1367
1397
  try {
1368
1398
  response = await this.requestVtecx(method, url);
@@ -1388,7 +1418,7 @@ class VtecxNext {
1388
1418
  checkNotNull(name, 'Name');
1389
1419
  // vte.cxへリクエスト
1390
1420
  const method = 'GET';
1391
- const url = `${SERVLETPATH_PROVIDER}/?_sessionfeed=${name}`;
1421
+ const url = `${SERVLETPATH_PROVIDER}/?_sessionfeed=${encodeURIComponent(name)}`;
1392
1422
  let response;
1393
1423
  try {
1394
1424
  response = await this.requestVtecx(method, url);
@@ -1415,7 +1445,7 @@ class VtecxNext {
1415
1445
  checkNotNull(name, 'Name');
1416
1446
  // vte.cxへリクエスト
1417
1447
  const method = 'GET';
1418
- const url = `${SERVLETPATH_PROVIDER}/?_sessionentry=${name}`;
1448
+ const url = `${SERVLETPATH_PROVIDER}/?_sessionentry=${encodeURIComponent(name)}`;
1419
1449
  let response;
1420
1450
  try {
1421
1451
  response = await this.requestVtecx(method, url);
@@ -1442,7 +1472,7 @@ class VtecxNext {
1442
1472
  checkNotNull(name, 'Name');
1443
1473
  // vte.cxへリクエスト
1444
1474
  const method = 'GET';
1445
- const url = `${SERVLETPATH_PROVIDER}/?_sessionstring=${name}`;
1475
+ const url = `${SERVLETPATH_PROVIDER}/?_sessionstring=${encodeURIComponent(name)}`;
1446
1476
  let response;
1447
1477
  try {
1448
1478
  response = await this.requestVtecx(method, url);
@@ -1475,7 +1505,7 @@ class VtecxNext {
1475
1505
  checkNotNull(name, 'Name');
1476
1506
  // vte.cxへリクエスト
1477
1507
  const method = 'GET';
1478
- const url = `${SERVLETPATH_PROVIDER}/?_sessionlong=${name}`;
1508
+ const url = `${SERVLETPATH_PROVIDER}/?_sessionlong=${encodeURIComponent(name)}`;
1479
1509
  let response;
1480
1510
  try {
1481
1511
  response = await this.requestVtecx(method, url);
@@ -1510,7 +1540,7 @@ class VtecxNext {
1510
1540
  checkUri(uri);
1511
1541
  // vte.cxへリクエスト
1512
1542
  const method = 'GET';
1513
- const url = `${SERVLETPATH_PROVIDER}${uri}${uri.includes('?') ? '&' : '?'}_pagination=${pagerange}`;
1543
+ const url = `${SERVLETPATH_PROVIDER}${uri}${uri.includes('?') ? '&' : '?'}_pagination=${encodeURIComponent(pagerange)}`;
1514
1544
  let response;
1515
1545
  try {
1516
1546
  response = await this.requestVtecx(method, url, null, null, targetService);
@@ -1772,7 +1802,7 @@ class VtecxNext {
1772
1802
  const feed = editSqlArgument(sql, values, parent);
1773
1803
  // vte.cxへリクエスト
1774
1804
  const method = 'PUT';
1775
- const url = `${SERVLETPATH_PROVIDER}/?_querybq&_csv${filename ? '=' + filename : ''}`;
1805
+ const url = `${SERVLETPATH_PROVIDER}/?_querybq&_csv${filename ? '=' + encodeURIComponent(filename) : ''}`;
1776
1806
  let response;
1777
1807
  try {
1778
1808
  response = await this.requestVtecx(method, url, JSON.stringify(feed));
@@ -1973,7 +2003,7 @@ class VtecxNext {
1973
2003
  const feed = editSqlArgument(sql, values, parent);
1974
2004
  // vte.cxへリクエスト
1975
2005
  const method = 'PUT';
1976
- const url = `${SERVLETPATH_PROVIDER}/?_queryrdb&_csv${filename ? '=' + filename : ''}`;
2006
+ const url = `${SERVLETPATH_PROVIDER}/?_queryrdb&_csv${filename ? '=' + encodeURIComponent(filename) : ''}`;
1977
2007
  let response;
1978
2008
  try {
1979
2009
  response = await this.requestVtecx(method, url, JSON.stringify(feed));
@@ -2047,7 +2077,7 @@ class VtecxNext {
2047
2077
  checkNotNull(htmlTemplate, 'PDF template');
2048
2078
  // vte.cxへリクエスト
2049
2079
  const method = 'PUT';
2050
- const url = `${SERVLETPATH_PROVIDER}/?_pdf${filename ? '=' + filename : ''}`;
2080
+ const url = `${SERVLETPATH_PROVIDER}/?_pdf${filename ? '=' + encodeURIComponent(filename) : ''}`;
2051
2081
  let response;
2052
2082
  try {
2053
2083
  response = await this.requestVtecx(method, url, htmlTemplate);
@@ -2068,6 +2098,35 @@ class VtecxNext {
2068
2098
  this.bufferData = await resData.arrayBuffer();
2069
2099
  return true;
2070
2100
  };
2101
+ /**
2102
+ * Create PDF and put content.
2103
+ * @param uri key
2104
+ * @param bysize true if registering with specified size
2105
+ * @param filename attachment file name
2106
+ * @param arrayBuffer content (for batch or server action)
2107
+ * @return message
2108
+ */
2109
+ putPdf = async (uri, htmlTemplate) => {
2110
+ //console.log(`[vtecxnext putPdf] start. uri=${uri}`)
2111
+ // キー入力値チェック
2112
+ checkUri(uri);
2113
+ // vte.cxへリクエスト
2114
+ const method = 'PUT';
2115
+ const url = `${SERVLETPATH_PROVIDER}${uri}?_pdf&_content`;
2116
+ let response;
2117
+ try {
2118
+ response = await this.requestVtecx(method, url, htmlTemplate);
2119
+ }
2120
+ catch (e) {
2121
+ throw newFetchError(e, true);
2122
+ }
2123
+ //console.log(`[vtecxnext putPdf] response. status=${response.status}`)
2124
+ // vte.cxからのset-cookieを転記
2125
+ this.setCookie(response);
2126
+ // レスポンスのエラーチェック
2127
+ await checkVtecxResponse(response);
2128
+ return await getJson(response);
2129
+ };
2071
2130
  /**
2072
2131
  * put the signature of uri and revision.
2073
2132
  * @param uri key
@@ -2424,7 +2483,7 @@ class VtecxNext {
2424
2483
  //checkNotNull(selfid, 'selfid (hierarchical name under my group alias)')
2425
2484
  // vte.cxへリクエスト
2426
2485
  const method = 'POST';
2427
- const url = `${SERVLETPATH_PROVIDER}${group}?_addgroup${selfid ? '&_selfid=' + selfid : ''}`;
2486
+ const url = `${SERVLETPATH_PROVIDER}${group}?_addgroup${selfid ? '&_selfid=' + encodeURIComponent(selfid) : ''}`;
2428
2487
  let response;
2429
2488
  try {
2430
2489
  response = await this.requestVtecx(method, url);
@@ -2456,7 +2515,7 @@ class VtecxNext {
2456
2515
  //checkNotNull(selfid, 'selfid (hierarchical name under my group alias)')
2457
2516
  // vte.cxへリクエスト
2458
2517
  const method = 'POST';
2459
- const url = `${SERVLETPATH_PROVIDER}${group}?_addgroupByAdmin${selfid ? '&_selfid=' + selfid : ''}`;
2518
+ const url = `${SERVLETPATH_PROVIDER}${group}?_addgroupByAdmin${selfid ? '&_selfid=' + encodeURIComponent(selfid) : ''}`;
2460
2519
  const feed = [];
2461
2520
  for (const uid of uids) {
2462
2521
  const entry = { link: [{ ___rel: 'self', ___href: `/_user/${uid}` }] };
@@ -2491,7 +2550,7 @@ class VtecxNext {
2491
2550
  //checkNotNull(selfid, 'selfid (hierarchical name under my group alias)')
2492
2551
  // vte.cxへリクエスト
2493
2552
  const method = 'PUT';
2494
- const url = `${SERVLETPATH_PROVIDER}${group}?_joingroup${selfid ? '&_selfid=' + selfid : ''}`;
2553
+ const url = `${SERVLETPATH_PROVIDER}${group}?_joingroup${selfid ? '&_selfid=' + encodeURIComponent(selfid) : ''}`;
2495
2554
  let response;
2496
2555
  try {
2497
2556
  response = await this.requestVtecx(method, url);
@@ -2684,7 +2743,7 @@ class VtecxNext {
2684
2743
  const feed = [entry];
2685
2744
  // vte.cxへリクエスト
2686
2745
  const method = 'POST';
2687
- const param = reCaptchaToken ? `&g-recaptcha-token=${reCaptchaToken}` : '';
2746
+ const param = reCaptchaToken ? `&g-recaptcha-token=${encodeURIComponent(reCaptchaToken)}` : '';
2688
2747
  const url = `${SERVLETPATH_DATA}/?_adduser${param}`;
2689
2748
  let response;
2690
2749
  try {
@@ -2800,7 +2859,7 @@ class VtecxNext {
2800
2859
  const feed = [entry];
2801
2860
  // vte.cxへリクエスト
2802
2861
  const method = 'POST';
2803
- const param = reCaptchaToken ? `&g-recaptcha-token=${reCaptchaToken}` : '';
2862
+ const param = reCaptchaToken ? `&g-recaptcha-token=${encodeURIComponent(reCaptchaToken)}` : '';
2804
2863
  const url = `${SERVLETPATH_DATA}/?_passreset${param}`;
2805
2864
  let response;
2806
2865
  try {
@@ -2958,7 +3017,7 @@ class VtecxNext {
2958
3017
  //console.log('[vtecxnext userstatus] start.')
2959
3018
  // vte.cxへリクエスト
2960
3019
  const method = 'GET';
2961
- const url = `${SERVLETPATH_DATA}/?_userstatus${account ? '=' + account : ''}`;
3020
+ const url = `${SERVLETPATH_DATA}/?_userstatus${account ? '=' + encodeURIComponent(account) : ''}`;
2962
3021
  let response;
2963
3022
  try {
2964
3023
  response = await this.requestVtecx(method, url);
@@ -2990,7 +3049,7 @@ class VtecxNext {
2990
3049
  checkNotNull(account, 'account');
2991
3050
  // vte.cxへリクエスト
2992
3051
  const method = 'PUT';
2993
- const url = `${SERVLETPATH_PROVIDER}/?_revokeuser=${account}${isDeleteGroups ? '&_deletegroup=true' : ''}`;
3052
+ const url = `${SERVLETPATH_PROVIDER}/?_revokeuser=${encodeURIComponent(account)}${isDeleteGroups ? '&_deletegroup=true' : ''}`;
2994
3053
  let response;
2995
3054
  try {
2996
3055
  response = await this.requestVtecx(method, url);
@@ -3060,7 +3119,7 @@ class VtecxNext {
3060
3119
  checkNotNull(account, 'account');
3061
3120
  // vte.cxへリクエスト
3062
3121
  const method = 'PUT';
3063
- const url = `${SERVLETPATH_PROVIDER}/?_activateuser=${account}`;
3122
+ const url = `${SERVLETPATH_PROVIDER}/?_activateuser=${encodeURIComponent(account)}`;
3064
3123
  let response;
3065
3124
  try {
3066
3125
  response = await this.requestVtecx(method, url);
@@ -3154,7 +3213,7 @@ class VtecxNext {
3154
3213
  checkNotNull(account, 'account');
3155
3214
  // vte.cxへリクエスト
3156
3215
  const method = 'DELETE';
3157
- const url = `${SERVLETPATH_DATA}/?_deleteuser=${account}`;
3216
+ const url = `${SERVLETPATH_DATA}/?_deleteuser=${encodeURIComponent(account)}`;
3158
3217
  let response;
3159
3218
  try {
3160
3219
  response = await this.requestVtecx(method, url);
@@ -3483,7 +3542,7 @@ class VtecxNext {
3483
3542
  checkUri(parenturi);
3484
3543
  // vte.cxへリクエスト
3485
3544
  const method = 'POST';
3486
- const url = `${SERVLETPATH_PROVIDER}${parenturi}?_content${extension ? '&_ext=' + extension : ''}`;
3545
+ const url = `${SERVLETPATH_PROVIDER}${parenturi}?_content${extension ? '&_ext=' + encodeURIComponent(extension) : ''}`;
3487
3546
  //console.log(`[vtecxnext postcontent] request. url=${url}`)
3488
3547
  const headers = { 'Content-Type': this.req?.headers.get('content-type') };
3489
3548
  if (filename) {
@@ -3626,7 +3685,7 @@ class VtecxNext {
3626
3685
  checkUri(parenturi);
3627
3686
  // vte.cxへリクエスト
3628
3687
  const method = 'POST';
3629
- const url = `${SERVLETPATH_PROVIDER}${parenturi}?_content&_signedurl${extension ? '&_ext=' + extension : ''}`;
3688
+ const url = `${SERVLETPATH_PROVIDER}${parenturi}?_content&_signedurl${extension ? '&_ext=' + encodeURIComponent(extension) : ''}`;
3630
3689
  //console.log(`[vtecxnext getSignedUrlToPostContent] request. url=${url}`)
3631
3690
  const headers = { 'Content-Type': this.req?.headers?.get('content-type') };
3632
3691
  if (filename) {
@@ -3806,13 +3865,14 @@ class VtecxNext {
3806
3865
  return await getJson(response);
3807
3866
  };
3808
3867
  /**
3868
+ * @deprecated
3809
3869
  * Merge an existing user with an line oauth user.
3810
- * @param rxid RXID
3870
+ * @param wsseApikey WSSE-APIKEY
3811
3871
  * @return user entry
3812
3872
  */
3813
- mergeOAuthUserLine = async (rxid) => {
3814
- //console.log(`[vtecxnext mergeOAuthUserLine] start. feed=${feed}`)
3815
- return this.mergeOAuthUser('line', rxid);
3873
+ mergeOAuthUserLine = async (wsseApikey) => {
3874
+ //console.log(`[vtecxnext mergeOAuthUserLine] start.`)
3875
+ return this.mergeOAuthUser('line', wsseApikey);
3816
3876
  };
3817
3877
  /**
3818
3878
  * create group admin
@@ -3899,7 +3959,7 @@ class VtecxNext {
3899
3959
  checkNotNull(name, 'Name');
3900
3960
  // vte.cxへリクエスト
3901
3961
  const method = 'GET';
3902
- const url = `${SERVLETPATH_PROVIDER}/?_property=${name}`;
3962
+ const url = `${SERVLETPATH_PROVIDER}/?_property=${encodeURIComponent(name)}`;
3903
3963
  let response;
3904
3964
  try {
3905
3965
  response = await this.requestVtecx(method, url);
@@ -4339,7 +4399,7 @@ class VtecxNext {
4339
4399
  // 認可リクエストリダイレクトURL生成
4340
4400
  //console.log(`[vtecxnext oauth] redirect_uri=${redirect_uri}`)
4341
4401
  //console.log(`[vtecxnext oauth] origin=${origin}`)
4342
- const authorizationUrl = `${oauthUrl}?response_type=code&client_id=${client_id}&redirect_uri=${encodeURI(redirect_uri)}&state=${state}&scope=profile`;
4402
+ const authorizationUrl = `${oauthUrl}?response_type=code&client_id=${client_id}&redirect_uri=${encodeURIComponent(redirect_uri)}&state=${state}&scope=profile`;
4343
4403
  //console.log(`[vtecxnext oauth] authorizationUrl=${authorizationUrl}`)
4344
4404
  //res.setHeader('Location', authorizationUrl)
4345
4405
  this.setResponseHeader('Location', authorizationUrl);
@@ -4504,7 +4564,7 @@ class VtecxNext {
4504
4564
  //console.log(`[vtecxnext oauthLink] start. userInfo=${JSON.stringify(userInfo)}`)
4505
4565
  // OAuthリンク・ログイン
4506
4566
  // reCAPTCHA tokenは任意
4507
- //const param = reCaptchaToken ? `&g-recaptcha-token=${reCaptchaToken}` : ''
4567
+ //const param = reCaptchaToken ? `&g-recaptcha-token=${encodeURIComponent(reCaptchaToken)}` : ''
4508
4568
  const param = '';
4509
4569
  const method = 'POST';
4510
4570
  const url = `${SERVLETPATH_OAUTH}/${provider}/link?state=${userInfo.state}${param}`;
@@ -4531,20 +4591,21 @@ class VtecxNext {
4531
4591
  return isLoggedin;
4532
4592
  };
4533
4593
  /**
4594
+ * @deprecated
4534
4595
  * Merge an existing user with an oauth user.
4535
4596
  * @param provider OAuth provider name
4536
- * @param rxid RXID
4597
+ * @param wsseApikey WSSE-APIKEY
4537
4598
  * @return user entry
4538
4599
  */
4539
- mergeOAuthUser = async (provider, rxid) => {
4540
- //console.log(`[vtecxnext mergeOAuthUser] start. feed=${feed}`)
4600
+ mergeOAuthUser = async (provider, wsseApikey) => {
4601
+ //console.log(`[vtecxnext mergeOAuthUser] start. provider=${provider}`)
4541
4602
  // 入力チェック
4542
4603
  checkNotNull(provider, 'Provider');
4543
- checkNotNull(rxid, 'RXID');
4604
+ checkNotNull(wsseApikey, 'WSSE-APIKEY');
4544
4605
  // vte.cxへリクエスト
4545
4606
  const method = 'PUT';
4546
4607
  const url = `${SERVLETPATH_DATA}/?_mergeoauthuser`;
4547
- const feed = { feed: { subtitle: provider, rights: rxid } };
4608
+ const feed = { feed: { subtitle: provider, rights: wsseApikey } };
4548
4609
  let response;
4549
4610
  try {
4550
4611
  response = await this.requestVtecx(method, url, JSON.stringify(feed));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtecx/vtecxnext",
3
- "version": "3.1.1",
3
+ "version": "3.1.3",
4
4
  "description": "vte.cx Next.js api",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -17,16 +17,18 @@
17
17
  "url": "https://github.com/reflexworks/vtecxnext/issues"
18
18
  },
19
19
  "homepage": "https://github.com/reflexworks/vtecxnext#readme",
20
+ "dependencies": {
21
+ "sqlstring": "^2.3.3"
22
+ },
23
+ "peerDependencies": {
24
+ "next": "^16.0.0"
25
+ },
20
26
  "devDependencies": {
21
27
  "@types/node": "^25.9.1",
22
28
  "@types/sqlstring": "^2.3.2",
23
29
  "ts-node": "^10.9.2",
24
30
  "typescript": "^6.0.3"
25
31
  },
26
- "dependencies": {
27
- "next": "^16.2.6",
28
- "sqlstring": "^2.3.3"
29
- },
30
32
  "scripts": {
31
33
  "build": "tsc"
32
34
  }