dn-react-router-toolkit 0.3.4 → 0.3.7
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/api/create_handler.d.mts +2 -1
- package/dist/api/create_handler.d.ts +2 -1
- package/dist/api/create_handler.js +36 -21
- package/dist/api/create_handler.mjs +36 -21
- package/dist/api/index.js +36 -21
- package/dist/api/index.mjs +36 -21
- package/dist/auth/index.js +34 -20
- package/dist/auth/index.mjs +34 -20
- package/dist/auth/with_auth.d.mts +2 -1
- package/dist/auth/with_auth.d.ts +2 -1
- package/dist/auth/with_auth.js +34 -20
- package/dist/auth/with_auth.mjs +34 -20
- package/package.json +1 -1
|
@@ -2,7 +2,8 @@ import { LoaderFunctionArgs, ActionFunctionArgs } from 'react-router';
|
|
|
2
2
|
import { AuthService, PasswordRecoveryService, ThirdpartyAuth } from 'dn-react-toolkit/auth/server';
|
|
3
3
|
import { FileService } from 'dn-react-toolkit/file/server';
|
|
4
4
|
|
|
5
|
-
declare const createAPIHandler: <TFile>({ authService, fileService, passwordRecoveryService, getThirdPartyAuth, signupTokenSecret, }: {
|
|
5
|
+
declare const createAPIHandler: <TFile>({ siteOrigin, authService, fileService, passwordRecoveryService, getThirdPartyAuth, signupTokenSecret, }: {
|
|
6
|
+
siteOrigin: string;
|
|
6
7
|
authService: AuthService<TFile>;
|
|
7
8
|
fileService: FileService<TFile>;
|
|
8
9
|
passwordRecoveryService: PasswordRecoveryService;
|
|
@@ -2,7 +2,8 @@ import { LoaderFunctionArgs, ActionFunctionArgs } from 'react-router';
|
|
|
2
2
|
import { AuthService, PasswordRecoveryService, ThirdpartyAuth } from 'dn-react-toolkit/auth/server';
|
|
3
3
|
import { FileService } from 'dn-react-toolkit/file/server';
|
|
4
4
|
|
|
5
|
-
declare const createAPIHandler: <TFile>({ authService, fileService, passwordRecoveryService, getThirdPartyAuth, signupTokenSecret, }: {
|
|
5
|
+
declare const createAPIHandler: <TFile>({ siteOrigin, authService, fileService, passwordRecoveryService, getThirdPartyAuth, signupTokenSecret, }: {
|
|
6
|
+
siteOrigin: string;
|
|
6
7
|
authService: AuthService<TFile>;
|
|
7
8
|
fileService: FileService<TFile>;
|
|
8
9
|
passwordRecoveryService: PasswordRecoveryService;
|
|
@@ -41,14 +41,23 @@ __export(auth_exports, {
|
|
|
41
41
|
__reExport(auth_exports, require("dn-react-toolkit/auth"));
|
|
42
42
|
|
|
43
43
|
// src/auth/with_auth.ts
|
|
44
|
-
function createWithAuthHandler({
|
|
44
|
+
function createWithAuthHandler({
|
|
45
|
+
siteOrigin,
|
|
46
|
+
authService
|
|
47
|
+
}) {
|
|
45
48
|
return function(fn) {
|
|
46
49
|
const handler = async function(arg) {
|
|
47
|
-
const respond = async (auth) => {
|
|
50
|
+
const respond = async (auth, headers) => {
|
|
48
51
|
const userAgent = arg.request.headers.get("User-Agent") || "";
|
|
49
52
|
const res = await fn(auth)(arg);
|
|
50
53
|
if (typeof res === "object" && res !== null && !Array.isArray(res)) {
|
|
51
54
|
if (res instanceof Response) {
|
|
55
|
+
const mergedHeaders = new Headers(res.headers);
|
|
56
|
+
if (headers) {
|
|
57
|
+
headers.forEach((value, key) => {
|
|
58
|
+
mergedHeaders.set(key, value);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
52
61
|
if (res.status < 300 && res.headers.get("Content-Type")?.includes("application/json")) {
|
|
53
62
|
const data = await res.json();
|
|
54
63
|
return new Response(
|
|
@@ -59,19 +68,27 @@ function createWithAuthHandler({ authService }) {
|
|
|
59
68
|
}),
|
|
60
69
|
{
|
|
61
70
|
status: res.status,
|
|
62
|
-
headers:
|
|
71
|
+
headers: mergedHeaders
|
|
63
72
|
}
|
|
64
73
|
);
|
|
65
74
|
}
|
|
66
|
-
return res
|
|
75
|
+
return new Response(res.body, {
|
|
76
|
+
status: res.status,
|
|
77
|
+
headers: mergedHeaders
|
|
78
|
+
});
|
|
67
79
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
80
|
+
headers?.set("Content-Type", "application/json");
|
|
81
|
+
return new Response(
|
|
82
|
+
JSON.stringify({
|
|
83
|
+
AUTH: auth,
|
|
84
|
+
userAgent,
|
|
85
|
+
...res
|
|
86
|
+
}),
|
|
87
|
+
{ status: 200, headers }
|
|
88
|
+
);
|
|
73
89
|
}
|
|
74
|
-
|
|
90
|
+
headers?.set("Content-Type", "application/json");
|
|
91
|
+
return new Response(JSON.stringify(res), { status: 200, headers });
|
|
75
92
|
};
|
|
76
93
|
const accessToken = await authService.getAccessTokenFromRequest(
|
|
77
94
|
arg.request
|
|
@@ -97,11 +114,11 @@ function createWithAuthHandler({ authService }) {
|
|
|
97
114
|
);
|
|
98
115
|
const headers = new Headers();
|
|
99
116
|
headers.append("Set-Cookie", setCookieHeader);
|
|
100
|
-
headers.append("Location", arg.request.url);
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
117
|
+
headers.append("Location", new URL(arg.request.url, siteOrigin).href);
|
|
118
|
+
const payload = authService.jwtManager.decode(
|
|
119
|
+
newAccessToken
|
|
120
|
+
);
|
|
121
|
+
return respond(payload, headers);
|
|
105
122
|
} catch (e) {
|
|
106
123
|
if (e instanceof Error) {
|
|
107
124
|
console.log(e.message);
|
|
@@ -111,11 +128,8 @@ function createWithAuthHandler({ authService }) {
|
|
|
111
128
|
);
|
|
112
129
|
const headers = new Headers();
|
|
113
130
|
headers.append("Set-Cookie", setCookieHeader);
|
|
114
|
-
headers.append("Location", arg.request.url);
|
|
115
|
-
return
|
|
116
|
-
status: 307,
|
|
117
|
-
headers
|
|
118
|
-
});
|
|
131
|
+
headers.append("Location", new URL(arg.request.url, siteOrigin).href);
|
|
132
|
+
return respond(void 0, headers);
|
|
119
133
|
}
|
|
120
134
|
}
|
|
121
135
|
return respond(void 0);
|
|
@@ -148,6 +162,7 @@ var ReactRouterCookieStore = class {
|
|
|
148
162
|
// src/api/create_handler.ts
|
|
149
163
|
var import_server2 = require("dn-react-toolkit/file/server");
|
|
150
164
|
var createAPIHandler = ({
|
|
165
|
+
siteOrigin,
|
|
151
166
|
authService,
|
|
152
167
|
fileService,
|
|
153
168
|
passwordRecoveryService,
|
|
@@ -158,7 +173,7 @@ var createAPIHandler = ({
|
|
|
158
173
|
const { request, params } = args;
|
|
159
174
|
const method = request.method.toUpperCase();
|
|
160
175
|
const slug = params["*"] ? params["*"].split("/") : [];
|
|
161
|
-
const withAuth = createWithAuthHandler({ authService });
|
|
176
|
+
const withAuth = createWithAuthHandler({ siteOrigin, authService });
|
|
162
177
|
switch (slug[0]) {
|
|
163
178
|
case "auth": {
|
|
164
179
|
switch (slug[1]) {
|
|
@@ -45,14 +45,23 @@ __reExport(auth_exports, auth_star);
|
|
|
45
45
|
import * as auth_star from "dn-react-toolkit/auth";
|
|
46
46
|
|
|
47
47
|
// src/auth/with_auth.ts
|
|
48
|
-
function createWithAuthHandler({
|
|
48
|
+
function createWithAuthHandler({
|
|
49
|
+
siteOrigin,
|
|
50
|
+
authService
|
|
51
|
+
}) {
|
|
49
52
|
return function(fn) {
|
|
50
53
|
const handler = async function(arg) {
|
|
51
|
-
const respond = async (auth) => {
|
|
54
|
+
const respond = async (auth, headers) => {
|
|
52
55
|
const userAgent = arg.request.headers.get("User-Agent") || "";
|
|
53
56
|
const res = await fn(auth)(arg);
|
|
54
57
|
if (typeof res === "object" && res !== null && !Array.isArray(res)) {
|
|
55
58
|
if (res instanceof Response) {
|
|
59
|
+
const mergedHeaders = new Headers(res.headers);
|
|
60
|
+
if (headers) {
|
|
61
|
+
headers.forEach((value, key) => {
|
|
62
|
+
mergedHeaders.set(key, value);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
56
65
|
if (res.status < 300 && res.headers.get("Content-Type")?.includes("application/json")) {
|
|
57
66
|
const data = await res.json();
|
|
58
67
|
return new Response(
|
|
@@ -63,19 +72,27 @@ function createWithAuthHandler({ authService }) {
|
|
|
63
72
|
}),
|
|
64
73
|
{
|
|
65
74
|
status: res.status,
|
|
66
|
-
headers:
|
|
75
|
+
headers: mergedHeaders
|
|
67
76
|
}
|
|
68
77
|
);
|
|
69
78
|
}
|
|
70
|
-
return res
|
|
79
|
+
return new Response(res.body, {
|
|
80
|
+
status: res.status,
|
|
81
|
+
headers: mergedHeaders
|
|
82
|
+
});
|
|
71
83
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
84
|
+
headers?.set("Content-Type", "application/json");
|
|
85
|
+
return new Response(
|
|
86
|
+
JSON.stringify({
|
|
87
|
+
AUTH: auth,
|
|
88
|
+
userAgent,
|
|
89
|
+
...res
|
|
90
|
+
}),
|
|
91
|
+
{ status: 200, headers }
|
|
92
|
+
);
|
|
77
93
|
}
|
|
78
|
-
|
|
94
|
+
headers?.set("Content-Type", "application/json");
|
|
95
|
+
return new Response(JSON.stringify(res), { status: 200, headers });
|
|
79
96
|
};
|
|
80
97
|
const accessToken = await authService.getAccessTokenFromRequest(
|
|
81
98
|
arg.request
|
|
@@ -101,11 +118,11 @@ function createWithAuthHandler({ authService }) {
|
|
|
101
118
|
);
|
|
102
119
|
const headers = new Headers();
|
|
103
120
|
headers.append("Set-Cookie", setCookieHeader);
|
|
104
|
-
headers.append("Location", arg.request.url);
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
121
|
+
headers.append("Location", new URL(arg.request.url, siteOrigin).href);
|
|
122
|
+
const payload = authService.jwtManager.decode(
|
|
123
|
+
newAccessToken
|
|
124
|
+
);
|
|
125
|
+
return respond(payload, headers);
|
|
109
126
|
} catch (e) {
|
|
110
127
|
if (e instanceof Error) {
|
|
111
128
|
console.log(e.message);
|
|
@@ -115,11 +132,8 @@ function createWithAuthHandler({ authService }) {
|
|
|
115
132
|
);
|
|
116
133
|
const headers = new Headers();
|
|
117
134
|
headers.append("Set-Cookie", setCookieHeader);
|
|
118
|
-
headers.append("Location", arg.request.url);
|
|
119
|
-
return
|
|
120
|
-
status: 307,
|
|
121
|
-
headers
|
|
122
|
-
});
|
|
135
|
+
headers.append("Location", new URL(arg.request.url, siteOrigin).href);
|
|
136
|
+
return respond(void 0, headers);
|
|
123
137
|
}
|
|
124
138
|
}
|
|
125
139
|
return respond(void 0);
|
|
@@ -155,6 +169,7 @@ import {
|
|
|
155
169
|
uploadFileHandler
|
|
156
170
|
} from "dn-react-toolkit/file/server";
|
|
157
171
|
var createAPIHandler = ({
|
|
172
|
+
siteOrigin,
|
|
158
173
|
authService,
|
|
159
174
|
fileService,
|
|
160
175
|
passwordRecoveryService,
|
|
@@ -165,7 +180,7 @@ var createAPIHandler = ({
|
|
|
165
180
|
const { request, params } = args;
|
|
166
181
|
const method = request.method.toUpperCase();
|
|
167
182
|
const slug = params["*"] ? params["*"].split("/") : [];
|
|
168
|
-
const withAuth = createWithAuthHandler({ authService });
|
|
183
|
+
const withAuth = createWithAuthHandler({ siteOrigin, authService });
|
|
169
184
|
switch (slug[0]) {
|
|
170
185
|
case "auth": {
|
|
171
186
|
switch (slug[1]) {
|
package/dist/api/index.js
CHANGED
|
@@ -41,14 +41,23 @@ __export(auth_exports, {
|
|
|
41
41
|
__reExport(auth_exports, require("dn-react-toolkit/auth"));
|
|
42
42
|
|
|
43
43
|
// src/auth/with_auth.ts
|
|
44
|
-
function createWithAuthHandler({
|
|
44
|
+
function createWithAuthHandler({
|
|
45
|
+
siteOrigin,
|
|
46
|
+
authService
|
|
47
|
+
}) {
|
|
45
48
|
return function(fn) {
|
|
46
49
|
const handler = async function(arg) {
|
|
47
|
-
const respond = async (auth) => {
|
|
50
|
+
const respond = async (auth, headers) => {
|
|
48
51
|
const userAgent = arg.request.headers.get("User-Agent") || "";
|
|
49
52
|
const res = await fn(auth)(arg);
|
|
50
53
|
if (typeof res === "object" && res !== null && !Array.isArray(res)) {
|
|
51
54
|
if (res instanceof Response) {
|
|
55
|
+
const mergedHeaders = new Headers(res.headers);
|
|
56
|
+
if (headers) {
|
|
57
|
+
headers.forEach((value, key) => {
|
|
58
|
+
mergedHeaders.set(key, value);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
52
61
|
if (res.status < 300 && res.headers.get("Content-Type")?.includes("application/json")) {
|
|
53
62
|
const data = await res.json();
|
|
54
63
|
return new Response(
|
|
@@ -59,19 +68,27 @@ function createWithAuthHandler({ authService }) {
|
|
|
59
68
|
}),
|
|
60
69
|
{
|
|
61
70
|
status: res.status,
|
|
62
|
-
headers:
|
|
71
|
+
headers: mergedHeaders
|
|
63
72
|
}
|
|
64
73
|
);
|
|
65
74
|
}
|
|
66
|
-
return res
|
|
75
|
+
return new Response(res.body, {
|
|
76
|
+
status: res.status,
|
|
77
|
+
headers: mergedHeaders
|
|
78
|
+
});
|
|
67
79
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
80
|
+
headers?.set("Content-Type", "application/json");
|
|
81
|
+
return new Response(
|
|
82
|
+
JSON.stringify({
|
|
83
|
+
AUTH: auth,
|
|
84
|
+
userAgent,
|
|
85
|
+
...res
|
|
86
|
+
}),
|
|
87
|
+
{ status: 200, headers }
|
|
88
|
+
);
|
|
73
89
|
}
|
|
74
|
-
|
|
90
|
+
headers?.set("Content-Type", "application/json");
|
|
91
|
+
return new Response(JSON.stringify(res), { status: 200, headers });
|
|
75
92
|
};
|
|
76
93
|
const accessToken = await authService.getAccessTokenFromRequest(
|
|
77
94
|
arg.request
|
|
@@ -97,11 +114,11 @@ function createWithAuthHandler({ authService }) {
|
|
|
97
114
|
);
|
|
98
115
|
const headers = new Headers();
|
|
99
116
|
headers.append("Set-Cookie", setCookieHeader);
|
|
100
|
-
headers.append("Location", arg.request.url);
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
117
|
+
headers.append("Location", new URL(arg.request.url, siteOrigin).href);
|
|
118
|
+
const payload = authService.jwtManager.decode(
|
|
119
|
+
newAccessToken
|
|
120
|
+
);
|
|
121
|
+
return respond(payload, headers);
|
|
105
122
|
} catch (e) {
|
|
106
123
|
if (e instanceof Error) {
|
|
107
124
|
console.log(e.message);
|
|
@@ -111,11 +128,8 @@ function createWithAuthHandler({ authService }) {
|
|
|
111
128
|
);
|
|
112
129
|
const headers = new Headers();
|
|
113
130
|
headers.append("Set-Cookie", setCookieHeader);
|
|
114
|
-
headers.append("Location", arg.request.url);
|
|
115
|
-
return
|
|
116
|
-
status: 307,
|
|
117
|
-
headers
|
|
118
|
-
});
|
|
131
|
+
headers.append("Location", new URL(arg.request.url, siteOrigin).href);
|
|
132
|
+
return respond(void 0, headers);
|
|
119
133
|
}
|
|
120
134
|
}
|
|
121
135
|
return respond(void 0);
|
|
@@ -148,6 +162,7 @@ var ReactRouterCookieStore = class {
|
|
|
148
162
|
// src/api/create_handler.ts
|
|
149
163
|
var import_server2 = require("dn-react-toolkit/file/server");
|
|
150
164
|
var createAPIHandler = ({
|
|
165
|
+
siteOrigin,
|
|
151
166
|
authService,
|
|
152
167
|
fileService,
|
|
153
168
|
passwordRecoveryService,
|
|
@@ -158,7 +173,7 @@ var createAPIHandler = ({
|
|
|
158
173
|
const { request, params } = args;
|
|
159
174
|
const method = request.method.toUpperCase();
|
|
160
175
|
const slug = params["*"] ? params["*"].split("/") : [];
|
|
161
|
-
const withAuth = createWithAuthHandler({ authService });
|
|
176
|
+
const withAuth = createWithAuthHandler({ siteOrigin, authService });
|
|
162
177
|
switch (slug[0]) {
|
|
163
178
|
case "auth": {
|
|
164
179
|
switch (slug[1]) {
|
package/dist/api/index.mjs
CHANGED
|
@@ -45,14 +45,23 @@ __reExport(auth_exports, auth_star);
|
|
|
45
45
|
import * as auth_star from "dn-react-toolkit/auth";
|
|
46
46
|
|
|
47
47
|
// src/auth/with_auth.ts
|
|
48
|
-
function createWithAuthHandler({
|
|
48
|
+
function createWithAuthHandler({
|
|
49
|
+
siteOrigin,
|
|
50
|
+
authService
|
|
51
|
+
}) {
|
|
49
52
|
return function(fn) {
|
|
50
53
|
const handler = async function(arg) {
|
|
51
|
-
const respond = async (auth) => {
|
|
54
|
+
const respond = async (auth, headers) => {
|
|
52
55
|
const userAgent = arg.request.headers.get("User-Agent") || "";
|
|
53
56
|
const res = await fn(auth)(arg);
|
|
54
57
|
if (typeof res === "object" && res !== null && !Array.isArray(res)) {
|
|
55
58
|
if (res instanceof Response) {
|
|
59
|
+
const mergedHeaders = new Headers(res.headers);
|
|
60
|
+
if (headers) {
|
|
61
|
+
headers.forEach((value, key) => {
|
|
62
|
+
mergedHeaders.set(key, value);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
56
65
|
if (res.status < 300 && res.headers.get("Content-Type")?.includes("application/json")) {
|
|
57
66
|
const data = await res.json();
|
|
58
67
|
return new Response(
|
|
@@ -63,19 +72,27 @@ function createWithAuthHandler({ authService }) {
|
|
|
63
72
|
}),
|
|
64
73
|
{
|
|
65
74
|
status: res.status,
|
|
66
|
-
headers:
|
|
75
|
+
headers: mergedHeaders
|
|
67
76
|
}
|
|
68
77
|
);
|
|
69
78
|
}
|
|
70
|
-
return res
|
|
79
|
+
return new Response(res.body, {
|
|
80
|
+
status: res.status,
|
|
81
|
+
headers: mergedHeaders
|
|
82
|
+
});
|
|
71
83
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
84
|
+
headers?.set("Content-Type", "application/json");
|
|
85
|
+
return new Response(
|
|
86
|
+
JSON.stringify({
|
|
87
|
+
AUTH: auth,
|
|
88
|
+
userAgent,
|
|
89
|
+
...res
|
|
90
|
+
}),
|
|
91
|
+
{ status: 200, headers }
|
|
92
|
+
);
|
|
77
93
|
}
|
|
78
|
-
|
|
94
|
+
headers?.set("Content-Type", "application/json");
|
|
95
|
+
return new Response(JSON.stringify(res), { status: 200, headers });
|
|
79
96
|
};
|
|
80
97
|
const accessToken = await authService.getAccessTokenFromRequest(
|
|
81
98
|
arg.request
|
|
@@ -101,11 +118,11 @@ function createWithAuthHandler({ authService }) {
|
|
|
101
118
|
);
|
|
102
119
|
const headers = new Headers();
|
|
103
120
|
headers.append("Set-Cookie", setCookieHeader);
|
|
104
|
-
headers.append("Location", arg.request.url);
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
121
|
+
headers.append("Location", new URL(arg.request.url, siteOrigin).href);
|
|
122
|
+
const payload = authService.jwtManager.decode(
|
|
123
|
+
newAccessToken
|
|
124
|
+
);
|
|
125
|
+
return respond(payload, headers);
|
|
109
126
|
} catch (e) {
|
|
110
127
|
if (e instanceof Error) {
|
|
111
128
|
console.log(e.message);
|
|
@@ -115,11 +132,8 @@ function createWithAuthHandler({ authService }) {
|
|
|
115
132
|
);
|
|
116
133
|
const headers = new Headers();
|
|
117
134
|
headers.append("Set-Cookie", setCookieHeader);
|
|
118
|
-
headers.append("Location", arg.request.url);
|
|
119
|
-
return
|
|
120
|
-
status: 307,
|
|
121
|
-
headers
|
|
122
|
-
});
|
|
135
|
+
headers.append("Location", new URL(arg.request.url, siteOrigin).href);
|
|
136
|
+
return respond(void 0, headers);
|
|
123
137
|
}
|
|
124
138
|
}
|
|
125
139
|
return respond(void 0);
|
|
@@ -155,6 +169,7 @@ import {
|
|
|
155
169
|
uploadFileHandler
|
|
156
170
|
} from "dn-react-toolkit/file/server";
|
|
157
171
|
var createAPIHandler = ({
|
|
172
|
+
siteOrigin,
|
|
158
173
|
authService,
|
|
159
174
|
fileService,
|
|
160
175
|
passwordRecoveryService,
|
|
@@ -165,7 +180,7 @@ var createAPIHandler = ({
|
|
|
165
180
|
const { request, params } = args;
|
|
166
181
|
const method = request.method.toUpperCase();
|
|
167
182
|
const slug = params["*"] ? params["*"].split("/") : [];
|
|
168
|
-
const withAuth = createWithAuthHandler({ authService });
|
|
183
|
+
const withAuth = createWithAuthHandler({ siteOrigin, authService });
|
|
169
184
|
switch (slug[0]) {
|
|
170
185
|
case "auth": {
|
|
171
186
|
switch (slug[1]) {
|
package/dist/auth/index.js
CHANGED
|
@@ -28,14 +28,23 @@ module.exports = __toCommonJS(auth_exports);
|
|
|
28
28
|
__reExport(auth_exports, require("dn-react-toolkit/auth"), module.exports);
|
|
29
29
|
|
|
30
30
|
// src/auth/with_auth.ts
|
|
31
|
-
function createWithAuthHandler({
|
|
31
|
+
function createWithAuthHandler({
|
|
32
|
+
siteOrigin,
|
|
33
|
+
authService
|
|
34
|
+
}) {
|
|
32
35
|
return function(fn) {
|
|
33
36
|
const handler = async function(arg) {
|
|
34
|
-
const respond = async (auth) => {
|
|
37
|
+
const respond = async (auth, headers) => {
|
|
35
38
|
const userAgent = arg.request.headers.get("User-Agent") || "";
|
|
36
39
|
const res = await fn(auth)(arg);
|
|
37
40
|
if (typeof res === "object" && res !== null && !Array.isArray(res)) {
|
|
38
41
|
if (res instanceof Response) {
|
|
42
|
+
const mergedHeaders = new Headers(res.headers);
|
|
43
|
+
if (headers) {
|
|
44
|
+
headers.forEach((value, key) => {
|
|
45
|
+
mergedHeaders.set(key, value);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
39
48
|
if (res.status < 300 && res.headers.get("Content-Type")?.includes("application/json")) {
|
|
40
49
|
const data = await res.json();
|
|
41
50
|
return new Response(
|
|
@@ -46,19 +55,27 @@ function createWithAuthHandler({ authService }) {
|
|
|
46
55
|
}),
|
|
47
56
|
{
|
|
48
57
|
status: res.status,
|
|
49
|
-
headers:
|
|
58
|
+
headers: mergedHeaders
|
|
50
59
|
}
|
|
51
60
|
);
|
|
52
61
|
}
|
|
53
|
-
return res
|
|
62
|
+
return new Response(res.body, {
|
|
63
|
+
status: res.status,
|
|
64
|
+
headers: mergedHeaders
|
|
65
|
+
});
|
|
54
66
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
67
|
+
headers?.set("Content-Type", "application/json");
|
|
68
|
+
return new Response(
|
|
69
|
+
JSON.stringify({
|
|
70
|
+
AUTH: auth,
|
|
71
|
+
userAgent,
|
|
72
|
+
...res
|
|
73
|
+
}),
|
|
74
|
+
{ status: 200, headers }
|
|
75
|
+
);
|
|
60
76
|
}
|
|
61
|
-
|
|
77
|
+
headers?.set("Content-Type", "application/json");
|
|
78
|
+
return new Response(JSON.stringify(res), { status: 200, headers });
|
|
62
79
|
};
|
|
63
80
|
const accessToken = await authService.getAccessTokenFromRequest(
|
|
64
81
|
arg.request
|
|
@@ -84,11 +101,11 @@ function createWithAuthHandler({ authService }) {
|
|
|
84
101
|
);
|
|
85
102
|
const headers = new Headers();
|
|
86
103
|
headers.append("Set-Cookie", setCookieHeader);
|
|
87
|
-
headers.append("Location", arg.request.url);
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
104
|
+
headers.append("Location", new URL(arg.request.url, siteOrigin).href);
|
|
105
|
+
const payload = authService.jwtManager.decode(
|
|
106
|
+
newAccessToken
|
|
107
|
+
);
|
|
108
|
+
return respond(payload, headers);
|
|
92
109
|
} catch (e) {
|
|
93
110
|
if (e instanceof Error) {
|
|
94
111
|
console.log(e.message);
|
|
@@ -98,11 +115,8 @@ function createWithAuthHandler({ authService }) {
|
|
|
98
115
|
);
|
|
99
116
|
const headers = new Headers();
|
|
100
117
|
headers.append("Set-Cookie", setCookieHeader);
|
|
101
|
-
headers.append("Location", arg.request.url);
|
|
102
|
-
return
|
|
103
|
-
status: 307,
|
|
104
|
-
headers
|
|
105
|
-
});
|
|
118
|
+
headers.append("Location", new URL(arg.request.url, siteOrigin).href);
|
|
119
|
+
return respond(void 0, headers);
|
|
106
120
|
}
|
|
107
121
|
}
|
|
108
122
|
return respond(void 0);
|
package/dist/auth/index.mjs
CHANGED
|
@@ -2,14 +2,23 @@
|
|
|
2
2
|
export * from "dn-react-toolkit/auth";
|
|
3
3
|
|
|
4
4
|
// src/auth/with_auth.ts
|
|
5
|
-
function createWithAuthHandler({
|
|
5
|
+
function createWithAuthHandler({
|
|
6
|
+
siteOrigin,
|
|
7
|
+
authService
|
|
8
|
+
}) {
|
|
6
9
|
return function(fn) {
|
|
7
10
|
const handler = async function(arg) {
|
|
8
|
-
const respond = async (auth) => {
|
|
11
|
+
const respond = async (auth, headers) => {
|
|
9
12
|
const userAgent = arg.request.headers.get("User-Agent") || "";
|
|
10
13
|
const res = await fn(auth)(arg);
|
|
11
14
|
if (typeof res === "object" && res !== null && !Array.isArray(res)) {
|
|
12
15
|
if (res instanceof Response) {
|
|
16
|
+
const mergedHeaders = new Headers(res.headers);
|
|
17
|
+
if (headers) {
|
|
18
|
+
headers.forEach((value, key) => {
|
|
19
|
+
mergedHeaders.set(key, value);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
13
22
|
if (res.status < 300 && res.headers.get("Content-Type")?.includes("application/json")) {
|
|
14
23
|
const data = await res.json();
|
|
15
24
|
return new Response(
|
|
@@ -20,19 +29,27 @@ function createWithAuthHandler({ authService }) {
|
|
|
20
29
|
}),
|
|
21
30
|
{
|
|
22
31
|
status: res.status,
|
|
23
|
-
headers:
|
|
32
|
+
headers: mergedHeaders
|
|
24
33
|
}
|
|
25
34
|
);
|
|
26
35
|
}
|
|
27
|
-
return res
|
|
36
|
+
return new Response(res.body, {
|
|
37
|
+
status: res.status,
|
|
38
|
+
headers: mergedHeaders
|
|
39
|
+
});
|
|
28
40
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
41
|
+
headers?.set("Content-Type", "application/json");
|
|
42
|
+
return new Response(
|
|
43
|
+
JSON.stringify({
|
|
44
|
+
AUTH: auth,
|
|
45
|
+
userAgent,
|
|
46
|
+
...res
|
|
47
|
+
}),
|
|
48
|
+
{ status: 200, headers }
|
|
49
|
+
);
|
|
34
50
|
}
|
|
35
|
-
|
|
51
|
+
headers?.set("Content-Type", "application/json");
|
|
52
|
+
return new Response(JSON.stringify(res), { status: 200, headers });
|
|
36
53
|
};
|
|
37
54
|
const accessToken = await authService.getAccessTokenFromRequest(
|
|
38
55
|
arg.request
|
|
@@ -58,11 +75,11 @@ function createWithAuthHandler({ authService }) {
|
|
|
58
75
|
);
|
|
59
76
|
const headers = new Headers();
|
|
60
77
|
headers.append("Set-Cookie", setCookieHeader);
|
|
61
|
-
headers.append("Location", arg.request.url);
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
78
|
+
headers.append("Location", new URL(arg.request.url, siteOrigin).href);
|
|
79
|
+
const payload = authService.jwtManager.decode(
|
|
80
|
+
newAccessToken
|
|
81
|
+
);
|
|
82
|
+
return respond(payload, headers);
|
|
66
83
|
} catch (e) {
|
|
67
84
|
if (e instanceof Error) {
|
|
68
85
|
console.log(e.message);
|
|
@@ -72,11 +89,8 @@ function createWithAuthHandler({ authService }) {
|
|
|
72
89
|
);
|
|
73
90
|
const headers = new Headers();
|
|
74
91
|
headers.append("Set-Cookie", setCookieHeader);
|
|
75
|
-
headers.append("Location", arg.request.url);
|
|
76
|
-
return
|
|
77
|
-
status: 307,
|
|
78
|
-
headers
|
|
79
|
-
});
|
|
92
|
+
headers.append("Location", new URL(arg.request.url, siteOrigin).href);
|
|
93
|
+
return respond(void 0, headers);
|
|
80
94
|
}
|
|
81
95
|
}
|
|
82
96
|
return respond(void 0);
|
|
@@ -5,7 +5,8 @@ import { LoaderFunctionArgs, ActionFunctionArgs } from 'react-router';
|
|
|
5
5
|
type Handler<T extends LoaderFunctionArgs | ActionFunctionArgs> = (arg: T) => Promise<unknown> | unknown;
|
|
6
6
|
type InputFN = (auth?: AccessTokenPayload) => Handler<LoaderFunctionArgs> | Handler<ActionFunctionArgs>;
|
|
7
7
|
type WithAuthHandler<T extends LoaderFunctionArgs | ActionFunctionArgs> = (fn: InputFN) => Handler<T>;
|
|
8
|
-
declare function createWithAuthHandler<T extends LoaderFunctionArgs | ActionFunctionArgs>({ authService }: {
|
|
8
|
+
declare function createWithAuthHandler<T extends LoaderFunctionArgs | ActionFunctionArgs>({ siteOrigin, authService, }: {
|
|
9
|
+
siteOrigin: string;
|
|
9
10
|
authService: AuthService;
|
|
10
11
|
}): <THandler extends Handler<T>>(fn: (auth?: AccessTokenPayload) => THandler) => THandler;
|
|
11
12
|
|
package/dist/auth/with_auth.d.ts
CHANGED
|
@@ -5,7 +5,8 @@ import { LoaderFunctionArgs, ActionFunctionArgs } from 'react-router';
|
|
|
5
5
|
type Handler<T extends LoaderFunctionArgs | ActionFunctionArgs> = (arg: T) => Promise<unknown> | unknown;
|
|
6
6
|
type InputFN = (auth?: AccessTokenPayload) => Handler<LoaderFunctionArgs> | Handler<ActionFunctionArgs>;
|
|
7
7
|
type WithAuthHandler<T extends LoaderFunctionArgs | ActionFunctionArgs> = (fn: InputFN) => Handler<T>;
|
|
8
|
-
declare function createWithAuthHandler<T extends LoaderFunctionArgs | ActionFunctionArgs>({ authService }: {
|
|
8
|
+
declare function createWithAuthHandler<T extends LoaderFunctionArgs | ActionFunctionArgs>({ siteOrigin, authService, }: {
|
|
9
|
+
siteOrigin: string;
|
|
9
10
|
authService: AuthService;
|
|
10
11
|
}): <THandler extends Handler<T>>(fn: (auth?: AccessTokenPayload) => THandler) => THandler;
|
|
11
12
|
|
package/dist/auth/with_auth.js
CHANGED
|
@@ -23,14 +23,23 @@ __export(with_auth_exports, {
|
|
|
23
23
|
createWithAuthHandler: () => createWithAuthHandler
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(with_auth_exports);
|
|
26
|
-
function createWithAuthHandler({
|
|
26
|
+
function createWithAuthHandler({
|
|
27
|
+
siteOrigin,
|
|
28
|
+
authService
|
|
29
|
+
}) {
|
|
27
30
|
return function(fn) {
|
|
28
31
|
const handler = async function(arg) {
|
|
29
|
-
const respond = async (auth) => {
|
|
32
|
+
const respond = async (auth, headers) => {
|
|
30
33
|
const userAgent = arg.request.headers.get("User-Agent") || "";
|
|
31
34
|
const res = await fn(auth)(arg);
|
|
32
35
|
if (typeof res === "object" && res !== null && !Array.isArray(res)) {
|
|
33
36
|
if (res instanceof Response) {
|
|
37
|
+
const mergedHeaders = new Headers(res.headers);
|
|
38
|
+
if (headers) {
|
|
39
|
+
headers.forEach((value, key) => {
|
|
40
|
+
mergedHeaders.set(key, value);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
34
43
|
if (res.status < 300 && res.headers.get("Content-Type")?.includes("application/json")) {
|
|
35
44
|
const data = await res.json();
|
|
36
45
|
return new Response(
|
|
@@ -41,19 +50,27 @@ function createWithAuthHandler({ authService }) {
|
|
|
41
50
|
}),
|
|
42
51
|
{
|
|
43
52
|
status: res.status,
|
|
44
|
-
headers:
|
|
53
|
+
headers: mergedHeaders
|
|
45
54
|
}
|
|
46
55
|
);
|
|
47
56
|
}
|
|
48
|
-
return res
|
|
57
|
+
return new Response(res.body, {
|
|
58
|
+
status: res.status,
|
|
59
|
+
headers: mergedHeaders
|
|
60
|
+
});
|
|
49
61
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
62
|
+
headers?.set("Content-Type", "application/json");
|
|
63
|
+
return new Response(
|
|
64
|
+
JSON.stringify({
|
|
65
|
+
AUTH: auth,
|
|
66
|
+
userAgent,
|
|
67
|
+
...res
|
|
68
|
+
}),
|
|
69
|
+
{ status: 200, headers }
|
|
70
|
+
);
|
|
55
71
|
}
|
|
56
|
-
|
|
72
|
+
headers?.set("Content-Type", "application/json");
|
|
73
|
+
return new Response(JSON.stringify(res), { status: 200, headers });
|
|
57
74
|
};
|
|
58
75
|
const accessToken = await authService.getAccessTokenFromRequest(
|
|
59
76
|
arg.request
|
|
@@ -79,11 +96,11 @@ function createWithAuthHandler({ authService }) {
|
|
|
79
96
|
);
|
|
80
97
|
const headers = new Headers();
|
|
81
98
|
headers.append("Set-Cookie", setCookieHeader);
|
|
82
|
-
headers.append("Location", arg.request.url);
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
99
|
+
headers.append("Location", new URL(arg.request.url, siteOrigin).href);
|
|
100
|
+
const payload = authService.jwtManager.decode(
|
|
101
|
+
newAccessToken
|
|
102
|
+
);
|
|
103
|
+
return respond(payload, headers);
|
|
87
104
|
} catch (e) {
|
|
88
105
|
if (e instanceof Error) {
|
|
89
106
|
console.log(e.message);
|
|
@@ -93,11 +110,8 @@ function createWithAuthHandler({ authService }) {
|
|
|
93
110
|
);
|
|
94
111
|
const headers = new Headers();
|
|
95
112
|
headers.append("Set-Cookie", setCookieHeader);
|
|
96
|
-
headers.append("Location", arg.request.url);
|
|
97
|
-
return
|
|
98
|
-
status: 307,
|
|
99
|
-
headers
|
|
100
|
-
});
|
|
113
|
+
headers.append("Location", new URL(arg.request.url, siteOrigin).href);
|
|
114
|
+
return respond(void 0, headers);
|
|
101
115
|
}
|
|
102
116
|
}
|
|
103
117
|
return respond(void 0);
|
package/dist/auth/with_auth.mjs
CHANGED
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
// src/auth/with_auth.ts
|
|
2
|
-
function createWithAuthHandler({
|
|
2
|
+
function createWithAuthHandler({
|
|
3
|
+
siteOrigin,
|
|
4
|
+
authService
|
|
5
|
+
}) {
|
|
3
6
|
return function(fn) {
|
|
4
7
|
const handler = async function(arg) {
|
|
5
|
-
const respond = async (auth) => {
|
|
8
|
+
const respond = async (auth, headers) => {
|
|
6
9
|
const userAgent = arg.request.headers.get("User-Agent") || "";
|
|
7
10
|
const res = await fn(auth)(arg);
|
|
8
11
|
if (typeof res === "object" && res !== null && !Array.isArray(res)) {
|
|
9
12
|
if (res instanceof Response) {
|
|
13
|
+
const mergedHeaders = new Headers(res.headers);
|
|
14
|
+
if (headers) {
|
|
15
|
+
headers.forEach((value, key) => {
|
|
16
|
+
mergedHeaders.set(key, value);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
10
19
|
if (res.status < 300 && res.headers.get("Content-Type")?.includes("application/json")) {
|
|
11
20
|
const data = await res.json();
|
|
12
21
|
return new Response(
|
|
@@ -17,19 +26,27 @@ function createWithAuthHandler({ authService }) {
|
|
|
17
26
|
}),
|
|
18
27
|
{
|
|
19
28
|
status: res.status,
|
|
20
|
-
headers:
|
|
29
|
+
headers: mergedHeaders
|
|
21
30
|
}
|
|
22
31
|
);
|
|
23
32
|
}
|
|
24
|
-
return res
|
|
33
|
+
return new Response(res.body, {
|
|
34
|
+
status: res.status,
|
|
35
|
+
headers: mergedHeaders
|
|
36
|
+
});
|
|
25
37
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
38
|
+
headers?.set("Content-Type", "application/json");
|
|
39
|
+
return new Response(
|
|
40
|
+
JSON.stringify({
|
|
41
|
+
AUTH: auth,
|
|
42
|
+
userAgent,
|
|
43
|
+
...res
|
|
44
|
+
}),
|
|
45
|
+
{ status: 200, headers }
|
|
46
|
+
);
|
|
31
47
|
}
|
|
32
|
-
|
|
48
|
+
headers?.set("Content-Type", "application/json");
|
|
49
|
+
return new Response(JSON.stringify(res), { status: 200, headers });
|
|
33
50
|
};
|
|
34
51
|
const accessToken = await authService.getAccessTokenFromRequest(
|
|
35
52
|
arg.request
|
|
@@ -55,11 +72,11 @@ function createWithAuthHandler({ authService }) {
|
|
|
55
72
|
);
|
|
56
73
|
const headers = new Headers();
|
|
57
74
|
headers.append("Set-Cookie", setCookieHeader);
|
|
58
|
-
headers.append("Location", arg.request.url);
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
75
|
+
headers.append("Location", new URL(arg.request.url, siteOrigin).href);
|
|
76
|
+
const payload = authService.jwtManager.decode(
|
|
77
|
+
newAccessToken
|
|
78
|
+
);
|
|
79
|
+
return respond(payload, headers);
|
|
63
80
|
} catch (e) {
|
|
64
81
|
if (e instanceof Error) {
|
|
65
82
|
console.log(e.message);
|
|
@@ -69,11 +86,8 @@ function createWithAuthHandler({ authService }) {
|
|
|
69
86
|
);
|
|
70
87
|
const headers = new Headers();
|
|
71
88
|
headers.append("Set-Cookie", setCookieHeader);
|
|
72
|
-
headers.append("Location", arg.request.url);
|
|
73
|
-
return
|
|
74
|
-
status: 307,
|
|
75
|
-
headers
|
|
76
|
-
});
|
|
89
|
+
headers.append("Location", new URL(arg.request.url, siteOrigin).href);
|
|
90
|
+
return respond(void 0, headers);
|
|
77
91
|
}
|
|
78
92
|
}
|
|
79
93
|
return respond(void 0);
|