@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.
- package/README.md +1 -1
- package/dist/cjs/__tests__/CookieView.d.ts +1 -0
- package/dist/{__tests__ → cjs/__tests__}/CookieView.js +1 -0
- package/dist/cjs/__tests__/CookieView.js.map +1 -0
- package/dist/cjs/client/CookieView.d.ts +6 -0
- package/dist/{client → cjs/client}/CookieView.js +1 -0
- package/dist/cjs/client/CookieView.js.map +1 -0
- package/dist/cjs/client/PageWithAuth.d.ts +7 -0
- package/dist/{client → cjs/client}/PageWithAuth.js +5 -4
- package/dist/cjs/client/PageWithAuth.js.map +1 -0
- package/dist/cjs/client/SessionProvider.d.ts +11 -0
- package/dist/{client → cjs/client}/SessionProvider.js +3 -5
- package/dist/cjs/client/SessionProvider.js.map +1 -0
- package/dist/cjs/client/index.d.ts +25 -0
- package/dist/{client → cjs/client}/index.js +5 -4
- package/dist/cjs/client/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 +6 -0
- package/dist/esm/client/CookieView.js +11 -0
- package/dist/esm/client/CookieView.js.map +1 -0
- package/dist/esm/client/PageWithAuth.d.ts +7 -0
- package/dist/esm/client/PageWithAuth.js +15 -0
- package/dist/esm/client/PageWithAuth.js.map +1 -0
- package/dist/esm/client/SessionProvider.d.ts +11 -0
- package/dist/esm/client/SessionProvider.js +8 -0
- package/dist/esm/client/SessionProvider.js.map +1 -0
- package/dist/esm/client/index.d.ts +25 -0
- package/dist/esm/client/index.js +13 -0
- package/dist/esm/client/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/index.js +1 -1
- package/package.json +6 -6
- 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 {};
|
|
@@ -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 @@
|
|
|
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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var
|
|
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,
|
|
7
|
-
if (
|
|
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
|
|
4
|
+
var react_2 = require("next-auth/react");
|
|
5
5
|
var SessionProvider = function (_a) {
|
|
6
6
|
var pageProps = _a.pageProps, children = _a.children;
|
|
7
|
-
|
|
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
|
|
9
|
+
var react_1 = require("next-auth/react");
|
|
10
10
|
exports.default = {
|
|
11
11
|
PageWithAuth: PageWithAuth_1.default,
|
|
12
|
-
getSession:
|
|
12
|
+
getSession: react_1.getSession,
|
|
13
13
|
SessionProvider: SessionProvider_1.default,
|
|
14
|
-
signIn:
|
|
15
|
-
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
|
|
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;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,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,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('./
|
|
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.
|
|
3
|
+
"version": "0.31.1",
|
|
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",
|
|
@@ -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
|
|
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('./
|
|
1
|
+
module.exports = require('./src/providers').default
|