@newskit-render/auth 0.30.0 → 0.31.2
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/README.md +2 -1
- package/dist/cjs/__tests__/CookieView.d.ts +1 -0
- package/dist/{__tests__ → cjs/__tests__}/CookieView.js +5 -4
- package/dist/cjs/__tests__/CookieView.js.map +1 -0
- package/dist/cjs/client/CookieView.d.ts +5 -0
- package/dist/{client → cjs/client}/CookieView.js +3 -1
- package/dist/cjs/client/CookieView.js.map +1 -0
- package/dist/cjs/client/PageWithAuth.d.ts +6 -0
- package/dist/cjs/client/PageWithAuth.js +18 -0
- package/dist/cjs/client/PageWithAuth.js.map +1 -0
- package/dist/cjs/client/SessionProvider.d.ts +10 -0
- package/dist/cjs/client/SessionProvider.js +11 -0
- package/dist/cjs/client/SessionProvider.js.map +1 -0
- package/dist/cjs/client/index.d.ts +3 -0
- package/dist/cjs/client/index.js +16 -0
- package/dist/cjs/client/index.js.map +1 -0
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +19 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/providers/index.d.ts +7 -0
- package/dist/{providers → cjs/providers}/index.js +4 -3
- package/dist/cjs/providers/index.js.map +1 -0
- package/dist/esm/__tests__/CookieView.d.ts +1 -0
- package/dist/esm/__tests__/CookieView.js +39 -0
- package/dist/esm/__tests__/CookieView.js.map +1 -0
- package/dist/esm/client/CookieView.d.ts +5 -0
- package/dist/esm/client/CookieView.js +10 -0
- package/dist/esm/client/CookieView.js.map +1 -0
- package/dist/esm/client/PageWithAuth.d.ts +6 -0
- package/dist/esm/client/PageWithAuth.js +14 -0
- package/dist/esm/client/PageWithAuth.js.map +1 -0
- package/dist/esm/client/SessionProvider.d.ts +10 -0
- package/dist/esm/client/SessionProvider.js +7 -0
- package/dist/esm/client/SessionProvider.js.map +1 -0
- package/dist/esm/client/index.d.ts +3 -0
- package/dist/esm/client/index.js +4 -0
- package/dist/esm/client/index.js.map +1 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/providers/index.d.ts +7 -0
- package/dist/esm/providers/index.js +17 -0
- package/dist/esm/providers/index.js.map +1 -0
- package/package.json +5 -5
- package/providers.js +2 -1
- package/dist/client/PageWithAuth.js +0 -16
- package/dist/client/SessionProvider.js +0 -12
- package/dist/client/index.js +0 -17
- package/index.js +0 -1
package/README.md
CHANGED
|
@@ -8,8 +8,9 @@ Before starting, either locally or on deployed enviroments, you will need the fo
|
|
|
8
8
|
|
|
9
9
|
- **OKTA_CLIENT_ID** - client id for **OKTA** app
|
|
10
10
|
- **OKTA_CLIENT_SECRET** - client secret for **OKTA** app
|
|
11
|
-
- **OKTA_DOMAIN** - domain of **OKTA** app i.e `newscorp.okta.com`
|
|
11
|
+
- **OKTA_DOMAIN** - domain of **OKTA** app i.e `https://newscorp.okta.com`
|
|
12
12
|
- **NEXTAUTH_URL** - domain of your app i.e on local `http://localhost:3000` or on some environment `https://newskit-render.prod.ceng.newsuk.tech`
|
|
13
|
+
- **NEXTAUTH_SECRET** - A random string is used to hash tokens, sign/encrypt cookies and generate cryptographic keys. You can quickly create a good value on the command line via this openssl command. `openssl rand -base64 32`
|
|
13
14
|
|
|
14
15
|
To get this information you need to raise a ticket with **ServiceDesk** for the attention of **IAM and Collaboration team**. You need to request they set up **OKTA** apps for each of your environments.
|
|
15
16
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
var react_1 = __importDefault(require("react"));
|
|
7
7
|
var react_dom_1 = require("react-dom");
|
|
8
|
-
var CookieView_1 =
|
|
8
|
+
var CookieView_1 = require("../client/CookieView");
|
|
9
9
|
describe('CookieView', function () {
|
|
10
10
|
var container;
|
|
11
11
|
beforeEach(function () {
|
|
@@ -18,7 +18,7 @@ describe('CookieView', function () {
|
|
|
18
18
|
container = { textContent: '' };
|
|
19
19
|
});
|
|
20
20
|
test('Not visible, no cookie set', function () {
|
|
21
|
-
(0, react_dom_1.render)(react_1.default.createElement(CookieView_1.
|
|
21
|
+
(0, react_dom_1.render)(react_1.default.createElement(CookieView_1.CookieView, null,
|
|
22
22
|
react_1.default.createElement("div", null, "Not visible")), container);
|
|
23
23
|
expect(container.textContent).toBe('');
|
|
24
24
|
});
|
|
@@ -27,7 +27,7 @@ describe('CookieView', function () {
|
|
|
27
27
|
writable: true,
|
|
28
28
|
value: 'nextAuthShowLogOut=false',
|
|
29
29
|
});
|
|
30
|
-
(0, react_dom_1.render)(react_1.default.createElement(CookieView_1.
|
|
30
|
+
(0, react_dom_1.render)(react_1.default.createElement(CookieView_1.CookieView, null,
|
|
31
31
|
react_1.default.createElement("div", null, "visible")), container);
|
|
32
32
|
expect(container.textContent).toBe('');
|
|
33
33
|
});
|
|
@@ -36,8 +36,9 @@ describe('CookieView', function () {
|
|
|
36
36
|
writable: true,
|
|
37
37
|
value: 'nextAuthShowLogOut=true',
|
|
38
38
|
});
|
|
39
|
-
(0, react_dom_1.render)(react_1.default.createElement(CookieView_1.
|
|
39
|
+
(0, react_dom_1.render)(react_1.default.createElement(CookieView_1.CookieView, null,
|
|
40
40
|
react_1.default.createElement("div", null, "visible")), container);
|
|
41
41
|
expect(container.textContent).toBe('visible');
|
|
42
42
|
});
|
|
43
43
|
});
|
|
44
|
+
//# sourceMappingURL=CookieView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CookieView.js","sourceRoot":"","sources":["../../../src/__tests__/CookieView.tsx"],"names":[],"mappings":";;;;;AAAA,gDAAyB;AACzB,uCAA0D;AAC1D,mDAAiD;AAEjD,QAAQ,CAAC,YAAY,EAAE;IACrB,IAAI,SAAS,CAAA;IACb,UAAU,CAAC;QACT,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QACzC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC;QACR,IAAA,kCAAsB,EAAC,SAAS,CAAC,CAAA;QACjC,SAAS,CAAC,MAAM,EAAE,CAAA;QAClB,SAAS,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,4BAA4B,EAAE;QACjC,IAAA,kBAAM,EACJ,8BAAC,uBAAU;YACT,yDAAsB,CACX,EACb,SAAS,CACV,CAAA;QACD,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sCAAsC,EAAE;QAC3C,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE;YACxC,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,0BAA0B;SAClC,CAAC,CAAA;QACF,IAAA,kBAAM,EACJ,8BAAC,uBAAU;YACT,qDAAkB,CACP,EACb,SAAS,CACV,CAAA;QACD,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,iCAAiC,EAAE;QACtC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE;YACxC,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,yBAAyB;SACjC,CAAC,CAAA;QACF,IAAA,kBAAM,EACJ,8BAAC,uBAAU;YACT,qDAAkB,CACP,EACb,SAAS,CACV,CAAA;QACD,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.CookieView = void 0;
|
|
6
7
|
var cookie_1 = __importDefault(require("cookie"));
|
|
7
8
|
var CookieView = function (_a) {
|
|
8
9
|
var _b = _a.cookieName, cookieName = _b === void 0 ? 'nextAuthShowLogOut' : _b, children = _a.children;
|
|
@@ -12,4 +13,5 @@ var CookieView = function (_a) {
|
|
|
12
13
|
: null
|
|
13
14
|
: null;
|
|
14
15
|
};
|
|
15
|
-
exports.
|
|
16
|
+
exports.CookieView = CookieView;
|
|
17
|
+
//# sourceMappingURL=CookieView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CookieView.js","sourceRoot":"","sources":["../../../src/client/CookieView.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA2B;AACpB,IAAM,UAAU,GAAG,UAAC,EAM1B;QALC,kBAAiC,EAAjC,UAAU,mBAAG,oBAAoB,KAAA,EACjC,QAAQ,cAAA;IAKR,OAAA,OAAO,QAAQ,KAAK,WAAW;QAC7B,CAAC,CAAC,gBAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,KAAK,MAAM;YACpD,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAI;QACR,CAAC,CAAC,IAAI;AAJR,CAIQ,CAAA;AAXG,QAAA,UAAU,cAWb"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PageWithAuth = void 0;
|
|
4
|
+
var react_1 = require("next-auth/react");
|
|
5
|
+
var PageWithAuth = function (_a) {
|
|
6
|
+
var children = _a.children, isLoading = _a.isLoading, onDenied = _a.onDenied;
|
|
7
|
+
var _b = (0, react_1.useSession)(), session = _b.data, status = _b.status;
|
|
8
|
+
if (status === 'loading')
|
|
9
|
+
return isLoading;
|
|
10
|
+
if (!session && status === 'unauthenticated') {
|
|
11
|
+
return onDenied;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
return children;
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
exports.PageWithAuth = PageWithAuth;
|
|
18
|
+
//# sourceMappingURL=PageWithAuth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageWithAuth.js","sourceRoot":"","sources":["../../../src/client/PageWithAuth.tsx"],"names":[],"mappings":";;;AAAA,yCAA4C;AAErC,IAAM,YAAY,GAAG,UAAC,EAQ5B;QAPC,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,QAAQ,cAAA;IAMF,IAAA,KAA4B,IAAA,kBAAU,GAAE,EAAhC,OAAO,UAAA,EAAE,MAAM,YAAiB,CAAA;IAE9C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAE1C,IAAI,CAAC,OAAO,IAAI,MAAM,KAAK,iBAAiB,EAAE;QAC5C,OAAO,QAAQ,CAAA;KAChB;SAAM;QACL,OAAO,QAAQ,CAAA;KAChB;AACH,CAAC,CAAA;AAlBY,QAAA,YAAY,gBAkBxB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SessionProvider = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var react_2 = require("next-auth/react");
|
|
6
|
+
var SessionProvider = function (_a) {
|
|
7
|
+
var pageProps = _a.pageProps, children = _a.children;
|
|
8
|
+
return (0, react_1.createElement)(react_2.SessionProvider, { session: pageProps.session, children: children }, children);
|
|
9
|
+
};
|
|
10
|
+
exports.SessionProvider = SessionProvider;
|
|
11
|
+
//# sourceMappingURL=SessionProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionProvider.js","sourceRoot":"","sources":["../../../src/client/SessionProvider.tsx"],"names":[],"mappings":";;;AAAA,+BAAqC;AAErC,yCAA6D;AAEtD,IAAM,eAAe,GAAG,UAAC,EAM/B;QALC,SAAS,eAAA,EACT,QAAQ,cAAA;IAKR,OAAO,IAAA,qBAAa,EAClB,uBAAQ,EACR,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAClD,QAAQ,CACT,CAAA;AACH,CAAC,CAAA;AAZY,QAAA,eAAe,mBAY3B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./PageWithAuth"), exports);
|
|
14
|
+
__exportStar(require("./CookieView"), exports);
|
|
15
|
+
__exportStar(require("./SessionProvider"), exports);
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAA8B;AAC9B,+CAA4B;AAC5B,oDAAiC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.signOut = exports.signIn = exports.getSession = void 0;
|
|
14
|
+
var react_1 = require("next-auth/react");
|
|
15
|
+
Object.defineProperty(exports, "getSession", { enumerable: true, get: function () { return react_1.getSession; } });
|
|
16
|
+
Object.defineProperty(exports, "signIn", { enumerable: true, get: function () { return react_1.signIn; } });
|
|
17
|
+
Object.defineProperty(exports, "signOut", { enumerable: true, get: function () { return react_1.signOut; } });
|
|
18
|
+
__exportStar(require("./client"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,yCAA6D;AAApD,mGAAA,UAAU,OAAA;AAAE,+FAAA,MAAM,OAAA;AAAE,gGAAA,OAAO,OAAA;AACpC,2CAAwB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { NextApiRequest, NextApiResponse } from 'next';
|
|
2
|
+
declare const createAuthRoute: (req: NextApiRequest, res: NextApiResponse, providerOptions: {
|
|
3
|
+
OKTA_CLIENT_ID: string;
|
|
4
|
+
OKTA_CLIENT_SECRET: string;
|
|
5
|
+
OKTA_DOMAIN: string;
|
|
6
|
+
}) => Promise<void>;
|
|
7
|
+
export default createAuthRoute;
|
|
@@ -4,18 +4,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
var next_auth_1 = __importDefault(require("next-auth"));
|
|
7
|
-
var
|
|
7
|
+
var okta_1 = __importDefault(require("next-auth/providers/okta"));
|
|
8
8
|
var createAuthRoute = function (req, res, providerOptions) {
|
|
9
9
|
var OKTA_CLIENT_ID = providerOptions.OKTA_CLIENT_ID, OKTA_CLIENT_SECRET = providerOptions.OKTA_CLIENT_SECRET, OKTA_DOMAIN = providerOptions.OKTA_DOMAIN;
|
|
10
10
|
var options = {
|
|
11
11
|
providers: [
|
|
12
|
-
|
|
12
|
+
(0, okta_1.default)({
|
|
13
13
|
clientId: OKTA_CLIENT_ID,
|
|
14
14
|
clientSecret: OKTA_CLIENT_SECRET,
|
|
15
|
-
|
|
15
|
+
issuer: OKTA_DOMAIN,
|
|
16
16
|
}),
|
|
17
17
|
],
|
|
18
18
|
};
|
|
19
19
|
return (0, next_auth_1.default)(req, res, options);
|
|
20
20
|
};
|
|
21
21
|
exports.default = createAuthRoute;
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAAgC;AAEhC,kEAAmD;AACnD,IAAM,eAAe,GAAG,UACtB,GAAmB,EACnB,GAAoB,EACpB,eAIC;IAEO,IAAA,cAAc,GAAsC,eAAe,eAArD,EAAE,kBAAkB,GAAkB,eAAe,mBAAjC,EAAE,WAAW,GAAK,eAAe,YAApB,CAAoB;IAC3E,IAAM,OAAO,GAAG;QACd,SAAS,EAAE;YACT,IAAA,cAAY,EAAC;gBACX,QAAQ,EAAE,cAAc;gBACxB,YAAY,EAAE,kBAAkB;gBAChC,MAAM,EAAE,WAAW;aACpB,CAAC;SACH;KACF,CAAA;IAED,OAAO,IAAA,mBAAQ,EAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;AACpC,CAAC,CAAA;AAED,kBAAe,eAAe,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render, unmountComponentAtNode } from 'react-dom';
|
|
3
|
+
import { CookieView } from '../client/CookieView';
|
|
4
|
+
describe('CookieView', function () {
|
|
5
|
+
var container;
|
|
6
|
+
beforeEach(function () {
|
|
7
|
+
container = document.createElement('div');
|
|
8
|
+
document.body.appendChild(container);
|
|
9
|
+
});
|
|
10
|
+
afterEach(function () {
|
|
11
|
+
unmountComponentAtNode(container);
|
|
12
|
+
container.remove();
|
|
13
|
+
container = { textContent: '' };
|
|
14
|
+
});
|
|
15
|
+
test('Not visible, no cookie set', function () {
|
|
16
|
+
render(React.createElement(CookieView, null,
|
|
17
|
+
React.createElement("div", null, "Not visible")), container);
|
|
18
|
+
expect(container.textContent).toBe('');
|
|
19
|
+
});
|
|
20
|
+
test('Not visible, cookie set set to false', function () {
|
|
21
|
+
Object.defineProperty(document, 'cookie', {
|
|
22
|
+
writable: true,
|
|
23
|
+
value: 'nextAuthShowLogOut=false',
|
|
24
|
+
});
|
|
25
|
+
render(React.createElement(CookieView, null,
|
|
26
|
+
React.createElement("div", null, "visible")), container);
|
|
27
|
+
expect(container.textContent).toBe('');
|
|
28
|
+
});
|
|
29
|
+
test('Visible, cookie set set to true', function () {
|
|
30
|
+
Object.defineProperty(document, 'cookie', {
|
|
31
|
+
writable: true,
|
|
32
|
+
value: 'nextAuthShowLogOut=true',
|
|
33
|
+
});
|
|
34
|
+
render(React.createElement(CookieView, null,
|
|
35
|
+
React.createElement("div", null, "visible")), container);
|
|
36
|
+
expect(container.textContent).toBe('visible');
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=CookieView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CookieView.js","sourceRoot":"","sources":["../../../src/__tests__/CookieView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,QAAQ,CAAC,YAAY,EAAE;IACrB,IAAI,SAAS,CAAA;IACb,UAAU,CAAC;QACT,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QACzC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC;QACR,sBAAsB,CAAC,SAAS,CAAC,CAAA;QACjC,SAAS,CAAC,MAAM,EAAE,CAAA;QAClB,SAAS,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,4BAA4B,EAAE;QACjC,MAAM,CACJ,oBAAC,UAAU;YACT,+CAAsB,CACX,EACb,SAAS,CACV,CAAA;QACD,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sCAAsC,EAAE;QAC3C,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE;YACxC,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,0BAA0B;SAClC,CAAC,CAAA;QACF,MAAM,CACJ,oBAAC,UAAU;YACT,2CAAkB,CACP,EACb,SAAS,CACV,CAAA;QACD,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,iCAAiC,EAAE;QACtC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE;YACxC,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,yBAAyB;SACjC,CAAC,CAAA;QACF,MAAM,CACJ,oBAAC,UAAU;YACT,2CAAkB,CACP,EACb,SAAS,CACV,CAAA;QACD,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import cookie from 'cookie';
|
|
2
|
+
export var CookieView = function (_a) {
|
|
3
|
+
var _b = _a.cookieName, cookieName = _b === void 0 ? 'nextAuthShowLogOut' : _b, children = _a.children;
|
|
4
|
+
return typeof document !== 'undefined'
|
|
5
|
+
? cookie.parse(document.cookie)[cookieName] === 'true'
|
|
6
|
+
? children
|
|
7
|
+
: null
|
|
8
|
+
: null;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=CookieView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CookieView.js","sourceRoot":"","sources":["../../../src/client/CookieView.tsx"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,MAAM,CAAC,IAAM,UAAU,GAAG,UAAC,EAM1B;QALC,kBAAiC,EAAjC,UAAU,mBAAG,oBAAoB,KAAA,EACjC,QAAQ,cAAA;IAKR,OAAA,OAAO,QAAQ,KAAK,WAAW;QAC7B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,KAAK,MAAM;YACpD,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAI;QACR,CAAC,CAAC,IAAI;AAJR,CAIQ,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { useSession } from 'next-auth/react';
|
|
2
|
+
export var PageWithAuth = function (_a) {
|
|
3
|
+
var children = _a.children, isLoading = _a.isLoading, onDenied = _a.onDenied;
|
|
4
|
+
var _b = useSession(), session = _b.data, status = _b.status;
|
|
5
|
+
if (status === 'loading')
|
|
6
|
+
return isLoading;
|
|
7
|
+
if (!session && status === 'unauthenticated') {
|
|
8
|
+
return onDenied;
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
return children;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=PageWithAuth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageWithAuth.js","sourceRoot":"","sources":["../../../src/client/PageWithAuth.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,CAAC,IAAM,YAAY,GAAG,UAAC,EAQ5B;QAPC,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,QAAQ,cAAA;IAMF,IAAA,KAA4B,UAAU,EAAE,EAAhC,OAAO,UAAA,EAAE,MAAM,YAAiB,CAAA;IAE9C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAE1C,IAAI,CAAC,OAAO,IAAI,MAAM,KAAK,iBAAiB,EAAE;QAC5C,OAAO,QAAQ,CAAA;KAChB;SAAM;QACL,OAAO,QAAQ,CAAA;KAChB;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createElement } from 'react';
|
|
2
|
+
import { SessionProvider as Provider } from 'next-auth/react';
|
|
3
|
+
export var SessionProvider = function (_a) {
|
|
4
|
+
var pageProps = _a.pageProps, children = _a.children;
|
|
5
|
+
return createElement(Provider, { session: pageProps.session, children: children }, children);
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=SessionProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionProvider.js","sourceRoot":"","sources":["../../../src/client/SessionProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC,OAAO,EAAE,eAAe,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE7D,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,EAM/B;QALC,SAAS,eAAA,EACT,QAAQ,cAAA;IAKR,OAAO,aAAa,CAClB,QAAQ,EACR,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAClD,QAAQ,CACT,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC7D,cAAc,UAAU,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { NextApiRequest, NextApiResponse } from 'next';
|
|
2
|
+
declare const createAuthRoute: (req: NextApiRequest, res: NextApiResponse, providerOptions: {
|
|
3
|
+
OKTA_CLIENT_ID: string;
|
|
4
|
+
OKTA_CLIENT_SECRET: string;
|
|
5
|
+
OKTA_DOMAIN: string;
|
|
6
|
+
}) => Promise<void>;
|
|
7
|
+
export default createAuthRoute;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import NextAuth from 'next-auth';
|
|
2
|
+
import OktaProvider from 'next-auth/providers/okta';
|
|
3
|
+
var createAuthRoute = function (req, res, providerOptions) {
|
|
4
|
+
var OKTA_CLIENT_ID = providerOptions.OKTA_CLIENT_ID, OKTA_CLIENT_SECRET = providerOptions.OKTA_CLIENT_SECRET, OKTA_DOMAIN = providerOptions.OKTA_DOMAIN;
|
|
5
|
+
var options = {
|
|
6
|
+
providers: [
|
|
7
|
+
OktaProvider({
|
|
8
|
+
clientId: OKTA_CLIENT_ID,
|
|
9
|
+
clientSecret: OKTA_CLIENT_SECRET,
|
|
10
|
+
issuer: OKTA_DOMAIN,
|
|
11
|
+
}),
|
|
12
|
+
],
|
|
13
|
+
};
|
|
14
|
+
return NextAuth(req, res, options);
|
|
15
|
+
};
|
|
16
|
+
export default createAuthRoute;
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,WAAW,CAAA;AAEhC,OAAO,YAAY,MAAM,0BAA0B,CAAA;AACnD,IAAM,eAAe,GAAG,UACtB,GAAmB,EACnB,GAAoB,EACpB,eAIC;IAEO,IAAA,cAAc,GAAsC,eAAe,eAArD,EAAE,kBAAkB,GAAkB,eAAe,mBAAjC,EAAE,WAAW,GAAK,eAAe,YAApB,CAAoB;IAC3E,IAAM,OAAO,GAAG;QACd,SAAS,EAAE;YACT,YAAY,CAAC;gBACX,QAAQ,EAAE,cAAc;gBACxB,YAAY,EAAE,kBAAkB;gBAChC,MAAM,EAAE,WAAW;aACpB,CAAC;SACH;KACF,CAAA;IAED,OAAO,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;AACpC,CAAC,CAAA;AAED,eAAe,eAAe,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@newskit-render/auth",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.31.2",
|
|
4
4
|
"description": "Newskit Render",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "UNLICENSED",
|
|
7
7
|
"keywords": [],
|
|
8
|
-
"
|
|
8
|
+
"module": "dist/esm/index.js",
|
|
9
|
+
"main": "dist/cjs/index.js",
|
|
9
10
|
"engines": {
|
|
10
11
|
"node": ">=16.13"
|
|
11
12
|
},
|
|
12
13
|
"scripts": {
|
|
13
|
-
"build": "rm -rf dist && tsc -b tsconfig.build.json",
|
|
14
|
+
"build": "rm -rf dist && tsc -b tsconfig.build.json && tsc -p tsconfig.build.json --module CommonJS --outDir './dist/cjs'",
|
|
14
15
|
"build:watch": "tsc -b tsconfig.build.json -w",
|
|
15
16
|
"test:unit": "jest --coverage --verbose",
|
|
16
17
|
"test:unit:watch": "jest --watch",
|
|
@@ -21,7 +22,7 @@
|
|
|
21
22
|
},
|
|
22
23
|
"dependencies": {
|
|
23
24
|
"cookie": "0.4.1",
|
|
24
|
-
"next-auth": "
|
|
25
|
+
"next-auth": "4.2.1"
|
|
25
26
|
},
|
|
26
27
|
"peerDependencies": {
|
|
27
28
|
"react": "17.0.2",
|
|
@@ -31,7 +32,6 @@
|
|
|
31
32
|
"@babel/polyfill": "7.10.1",
|
|
32
33
|
"@babel/register": "7.10.1",
|
|
33
34
|
"@types/jest": "27.0.2",
|
|
34
|
-
"@types/next-auth": "3.1.0",
|
|
35
35
|
"@types/react": "17.0.2",
|
|
36
36
|
"@typescript-eslint/eslint-plugin": "4.9.0",
|
|
37
37
|
"@typescript-eslint/parser": "4.9.0",
|
package/providers.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
// file is related to server side
|
|
2
|
+
module.exports = require('./dist/cjs/providers').default
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var client_1 = require("next-auth/client");
|
|
4
|
-
var PageWithAuth = function (_a) {
|
|
5
|
-
var children = _a.children, isLoading = _a.isLoading, onDenied = _a.onDenied;
|
|
6
|
-
var _b = (0, client_1.useSession)(), session = _b[0], loading = _b[1];
|
|
7
|
-
if (typeof window !== 'undefined' && loading)
|
|
8
|
-
return isLoading;
|
|
9
|
-
if (!session) {
|
|
10
|
-
return onDenied;
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
13
|
-
return children;
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
exports.default = PageWithAuth;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var react_1 = require("react");
|
|
4
|
-
var client_1 = require("next-auth/client");
|
|
5
|
-
var SessionProvider = function (_a) {
|
|
6
|
-
var pageProps = _a.pageProps, children = _a.children;
|
|
7
|
-
if (pageProps && pageProps.session !== undefined) {
|
|
8
|
-
return (0, react_1.createElement)(client_1.Provider, { session: pageProps.session }, children);
|
|
9
|
-
}
|
|
10
|
-
return children;
|
|
11
|
-
};
|
|
12
|
-
exports.default = SessionProvider;
|
package/dist/client/index.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var PageWithAuth_1 = __importDefault(require("./PageWithAuth"));
|
|
7
|
-
var SessionProvider_1 = __importDefault(require("./SessionProvider"));
|
|
8
|
-
var CookieView_1 = __importDefault(require("./CookieView"));
|
|
9
|
-
var client_1 = require("next-auth/client");
|
|
10
|
-
exports.default = {
|
|
11
|
-
PageWithAuth: PageWithAuth_1.default,
|
|
12
|
-
getSession: client_1.getSession,
|
|
13
|
-
SessionProvider: SessionProvider_1.default,
|
|
14
|
-
signIn: client_1.signIn,
|
|
15
|
-
signOut: client_1.signOut,
|
|
16
|
-
CookieView: CookieView_1.default,
|
|
17
|
-
};
|
package/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require('./dist/client').default
|