@newskit-render/auth 0.29.0 → 0.31.1

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.
Files changed (40) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/__tests__/CookieView.d.ts +1 -0
  3. package/dist/{__tests__ → cjs/__tests__}/CookieView.js +1 -0
  4. package/dist/cjs/__tests__/CookieView.js.map +1 -0
  5. package/dist/cjs/client/CookieView.d.ts +6 -0
  6. package/dist/{client → cjs/client}/CookieView.js +1 -0
  7. package/dist/cjs/client/CookieView.js.map +1 -0
  8. package/dist/cjs/client/PageWithAuth.d.ts +7 -0
  9. package/dist/{client → cjs/client}/PageWithAuth.js +5 -4
  10. package/dist/cjs/client/PageWithAuth.js.map +1 -0
  11. package/dist/cjs/client/SessionProvider.d.ts +11 -0
  12. package/dist/{client → cjs/client}/SessionProvider.js +3 -5
  13. package/dist/cjs/client/SessionProvider.js.map +1 -0
  14. package/dist/cjs/client/index.d.ts +25 -0
  15. package/dist/{client → cjs/client}/index.js +5 -4
  16. package/dist/cjs/client/index.js.map +1 -0
  17. package/dist/cjs/providers/index.d.ts +7 -0
  18. package/dist/{providers → cjs/providers}/index.js +4 -3
  19. package/dist/cjs/providers/index.js.map +1 -0
  20. package/dist/esm/__tests__/CookieView.d.ts +1 -0
  21. package/dist/esm/__tests__/CookieView.js +39 -0
  22. package/dist/esm/__tests__/CookieView.js.map +1 -0
  23. package/dist/esm/client/CookieView.d.ts +6 -0
  24. package/dist/esm/client/CookieView.js +11 -0
  25. package/dist/esm/client/CookieView.js.map +1 -0
  26. package/dist/esm/client/PageWithAuth.d.ts +7 -0
  27. package/dist/esm/client/PageWithAuth.js +15 -0
  28. package/dist/esm/client/PageWithAuth.js.map +1 -0
  29. package/dist/esm/client/SessionProvider.d.ts +11 -0
  30. package/dist/esm/client/SessionProvider.js +8 -0
  31. package/dist/esm/client/SessionProvider.js.map +1 -0
  32. package/dist/esm/client/index.d.ts +25 -0
  33. package/dist/esm/client/index.js +13 -0
  34. package/dist/esm/client/index.js.map +1 -0
  35. package/dist/esm/providers/index.d.ts +7 -0
  36. package/dist/esm/providers/index.js +17 -0
  37. package/dist/esm/providers/index.js.map +1 -0
  38. package/index.js +1 -1
  39. package/package.json +6 -6
  40. package/providers.js +1 -1
package/README.md CHANGED
@@ -8,7 +8,7 @@ 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
13
 
14
14
  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.
@@ -0,0 +1 @@
1
+ export {};
@@ -41,3 +41,4 @@ describe('CookieView', function () {
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,oEAA6C;AAE7C,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,oBAAU;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,oBAAU;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,oBAAU;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"}
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ declare const CookieView: ({ cookieName, children, }: {
3
+ cookieName?: string | undefined;
4
+ children: JSX.Element;
5
+ }) => JSX.Element | null;
6
+ export default CookieView;
@@ -13,3 +13,4 @@ var CookieView = function (_a) {
13
13
  : null;
14
14
  };
15
15
  exports.default = CookieView;
16
+ //# sourceMappingURL=CookieView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CookieView.js","sourceRoot":"","sources":["../../../src/client/CookieView.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA2B;AAE3B,IAAM,UAAU,GAAG,UAAC,EAMnB;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;AAEV,kBAAe,UAAU,CAAA"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ declare const PageWithAuth: ({ children, isLoading, onDenied, }: {
3
+ children: JSX.Element;
4
+ isLoading: JSX.Element;
5
+ onDenied: JSX.Element;
6
+ }) => JSX.Element;
7
+ export default PageWithAuth;
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var client_1 = require("next-auth/client");
3
+ var react_1 = require("next-auth/react");
4
4
  var PageWithAuth = function (_a) {
5
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)
6
+ var _b = (0, react_1.useSession)(), session = _b.data, status = _b.status;
7
+ if (status === 'loading')
8
8
  return isLoading;
9
- if (!session) {
9
+ if (!session && status === 'unauthenticated') {
10
10
  return onDenied;
11
11
  }
12
12
  else {
@@ -14,3 +14,4 @@ var PageWithAuth = function (_a) {
14
14
  }
15
15
  };
16
16
  exports.default = PageWithAuth;
17
+ //# sourceMappingURL=PageWithAuth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageWithAuth.js","sourceRoot":"","sources":["../../../src/client/PageWithAuth.tsx"],"names":[],"mappings":";;AAAA,yCAA4C;AAE5C,IAAM,YAAY,GAAG,UAAC,EAQrB;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;AAED,kBAAe,YAAY,CAAA"}
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { Session } from 'next-auth';
3
+ declare const SessionProvider: ({ pageProps, children, }: {
4
+ pageProps: {
5
+ session: Session;
6
+ } & {
7
+ [key: string]: unknown;
8
+ };
9
+ children: JSX.Element;
10
+ }) => JSX.Element;
11
+ export default SessionProvider;
@@ -1,12 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var react_1 = require("react");
4
- var client_1 = require("next-auth/client");
4
+ var react_2 = require("next-auth/react");
5
5
  var SessionProvider = function (_a) {
6
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;
7
+ return (0, react_1.createElement)(react_2.SessionProvider, { session: pageProps.session, children: children }, children);
11
8
  };
12
9
  exports.default = SessionProvider;
10
+ //# 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;AAE7D,IAAM,eAAe,GAAG,UAAC,EAMxB;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;AACD,kBAAe,eAAe,CAAA"}
@@ -0,0 +1,25 @@
1
+ /// <reference types="react" />
2
+ import { signIn, signOut, getSession } from 'next-auth/react';
3
+ declare const _default: {
4
+ PageWithAuth: ({ children, isLoading, onDenied, }: {
5
+ children: JSX.Element;
6
+ isLoading: JSX.Element;
7
+ onDenied: JSX.Element;
8
+ }) => JSX.Element;
9
+ getSession: typeof getSession;
10
+ SessionProvider: ({ pageProps, children, }: {
11
+ pageProps: {
12
+ session: import("next-auth").Session;
13
+ } & {
14
+ [key: string]: unknown;
15
+ };
16
+ children: JSX.Element;
17
+ }) => JSX.Element;
18
+ signIn: typeof signIn;
19
+ signOut: typeof signOut;
20
+ CookieView: ({ cookieName, children, }: {
21
+ cookieName?: string | undefined;
22
+ children: JSX.Element;
23
+ }) => JSX.Element | null;
24
+ };
25
+ export default _default;
@@ -6,12 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  var PageWithAuth_1 = __importDefault(require("./PageWithAuth"));
7
7
  var SessionProvider_1 = __importDefault(require("./SessionProvider"));
8
8
  var CookieView_1 = __importDefault(require("./CookieView"));
9
- var client_1 = require("next-auth/client");
9
+ var react_1 = require("next-auth/react");
10
10
  exports.default = {
11
11
  PageWithAuth: PageWithAuth_1.default,
12
- getSession: client_1.getSession,
12
+ getSession: react_1.getSession,
13
13
  SessionProvider: SessionProvider_1.default,
14
- signIn: client_1.signIn,
15
- signOut: client_1.signOut,
14
+ signIn: react_1.signIn,
15
+ signOut: react_1.signOut,
16
16
  CookieView: CookieView_1.default,
17
17
  };
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":";;;;;AAAA,gEAAyC;AACzC,sEAA+C;AAC/C,4DAAqC;AACrC,yCAA6D;AAE7D,kBAAe;IACb,YAAY,wBAAA;IACZ,UAAU,oBAAA;IACV,eAAe,2BAAA;IACf,MAAM,gBAAA;IACN,OAAO,iBAAA;IACP,UAAU,sBAAA;CACX,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;
@@ -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 providers_1 = __importDefault(require("next-auth/providers"));
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
- providers_1.default.Okta({
12
+ (0, okta_1.default)({
13
13
  clientId: OKTA_CLIENT_ID,
14
14
  clientSecret: OKTA_CLIENT_SECRET,
15
- domain: OKTA_DOMAIN,
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;AAEnD,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,UAAU,MAAM,sBAAsB,CAAA;AAE7C,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,6 @@
1
+ /// <reference types="react" />
2
+ declare const CookieView: ({ cookieName, children, }: {
3
+ cookieName?: string | undefined;
4
+ children: JSX.Element;
5
+ }) => JSX.Element | null;
6
+ export default CookieView;
@@ -0,0 +1,11 @@
1
+ import cookie from 'cookie';
2
+ 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
+ export default CookieView;
11
+ //# 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;AAE3B,IAAM,UAAU,GAAG,UAAC,EAMnB;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;AAEV,eAAe,UAAU,CAAA"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ declare const PageWithAuth: ({ children, isLoading, onDenied, }: {
3
+ children: JSX.Element;
4
+ isLoading: JSX.Element;
5
+ onDenied: JSX.Element;
6
+ }) => JSX.Element;
7
+ export default PageWithAuth;
@@ -0,0 +1,15 @@
1
+ import { useSession } from 'next-auth/react';
2
+ 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
+ export default PageWithAuth;
15
+ //# 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,IAAM,YAAY,GAAG,UAAC,EAQrB;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;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { Session } from 'next-auth';
3
+ declare const SessionProvider: ({ pageProps, children, }: {
4
+ pageProps: {
5
+ session: Session;
6
+ } & {
7
+ [key: string]: unknown;
8
+ };
9
+ children: JSX.Element;
10
+ }) => JSX.Element;
11
+ export default SessionProvider;
@@ -0,0 +1,8 @@
1
+ import { createElement } from 'react';
2
+ import { SessionProvider as Provider } from 'next-auth/react';
3
+ var SessionProvider = function (_a) {
4
+ var pageProps = _a.pageProps, children = _a.children;
5
+ return createElement(Provider, { session: pageProps.session, children: children }, children);
6
+ };
7
+ export default SessionProvider;
8
+ //# 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,IAAM,eAAe,GAAG,UAAC,EAMxB;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;AACD,eAAe,eAAe,CAAA"}
@@ -0,0 +1,25 @@
1
+ /// <reference types="react" />
2
+ import { signIn, signOut, getSession } from 'next-auth/react';
3
+ declare const _default: {
4
+ PageWithAuth: ({ children, isLoading, onDenied, }: {
5
+ children: JSX.Element;
6
+ isLoading: JSX.Element;
7
+ onDenied: JSX.Element;
8
+ }) => JSX.Element;
9
+ getSession: typeof getSession;
10
+ SessionProvider: ({ pageProps, children, }: {
11
+ pageProps: {
12
+ session: import("next-auth").Session;
13
+ } & {
14
+ [key: string]: unknown;
15
+ };
16
+ children: JSX.Element;
17
+ }) => JSX.Element;
18
+ signIn: typeof signIn;
19
+ signOut: typeof signOut;
20
+ CookieView: ({ cookieName, children, }: {
21
+ cookieName?: string | undefined;
22
+ children: JSX.Element;
23
+ }) => JSX.Element | null;
24
+ };
25
+ export default _default;
@@ -0,0 +1,13 @@
1
+ import PageWithAuth from './PageWithAuth';
2
+ import SessionProvider from './SessionProvider';
3
+ import CookieView from './CookieView';
4
+ import { signIn, signOut, getSession } from 'next-auth/react';
5
+ export default {
6
+ PageWithAuth: PageWithAuth,
7
+ getSession: getSession,
8
+ SessionProvider: SessionProvider,
9
+ signIn: signIn,
10
+ signOut: signOut,
11
+ CookieView: CookieView,
12
+ };
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAC/C,OAAO,UAAU,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE7D,eAAe;IACb,YAAY,cAAA;IACZ,UAAU,YAAA;IACV,eAAe,iBAAA;IACf,MAAM,QAAA;IACN,OAAO,SAAA;IACP,UAAU,YAAA;CACX,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;AAEnD,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/index.js CHANGED
@@ -1 +1 @@
1
- module.exports = require('./dist/client').default
1
+ module.exports = require('./src/client').default
package/package.json CHANGED
@@ -1,16 +1,17 @@
1
1
  {
2
2
  "name": "@newskit-render/auth",
3
- "version": "0.29.0",
3
+ "version": "0.31.1",
4
4
  "description": "Newskit Render",
5
5
  "author": "",
6
6
  "license": "UNLICENSED",
7
7
  "keywords": [],
8
- "main": "index.js",
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": "3.1.0"
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",
@@ -41,7 +41,7 @@
41
41
  "eslint-plugin-react": "7.22.0",
42
42
  "jest": "27.4.7",
43
43
  "jest-junit": "12.0.0",
44
- "next": "12.0.10",
44
+ "next": "12.1.0",
45
45
  "preact": "10.6.4",
46
46
  "prettier": "2.2.1",
47
47
  "react": "17.0.2",
package/providers.js CHANGED
@@ -1 +1 @@
1
- module.exports = require('./dist/providers').default
1
+ module.exports = require('./src/providers').default