diff --git a/package-lock.json b/package-lock.json index dd0d903..ad74ac9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "1.0.0", "license": "GPL-3.0-or-later", "dependencies": { + "@janishutz/oidc-login-sdk-server": "^1.1.0", "@types/cors": "^2.8.19", "cors": "^2.8.6", "express": "^5.2.1", @@ -259,6 +260,17 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@janishutz/oidc-login-sdk-server": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@janishutz/oidc-login-sdk-server/-/oidc-login-sdk-server-1.1.0.tgz", + "integrity": "sha512-Vt6t9ATLNGVsZb3g4HRNZO02bwGMrA0cyduAP6ROCZX6v9IYlRRG+ZIV/VszbxxIXkALKnCxtdWL7oTHjX6BQA==", + "license": "GPL-3.0-or-later", + "dependencies": { + "@types/express": "^5.0.6", + "express": "^5.2.1", + "express-openid-connect": "^3.4.0" + } + }, "node_modules/@keyv/bigmap": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@keyv/bigmap/-/bigmap-1.3.1.tgz", @@ -329,7 +341,6 @@ "version": "1.19.6", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", - "dev": true, "license": "MIT", "dependencies": { "@types/connect": "*", @@ -340,7 +351,6 @@ "version": "3.4.38", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "dev": true, "license": "MIT", "dependencies": { "@types/node": "*" @@ -373,7 +383,6 @@ "version": "5.0.6", "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.6.tgz", "integrity": "sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==", - "dev": true, "license": "MIT", "dependencies": { "@types/body-parser": "*", @@ -385,7 +394,6 @@ "version": "5.1.3", "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.1.3.tgz", "integrity": "sha512-dPfW8NFiOF4wOHc7+N/QSxlY9cfSsenewGbAz8C8U/MULPd/YZ27LvJUIlzaXie7e6Ove9YunJGgC9tbHD2cKw==", - "dev": true, "license": "MIT", "dependencies": { "@types/node": "*", @@ -398,7 +406,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", - "dev": true, "license": "MIT" }, "node_modules/@types/json-schema": { @@ -421,21 +428,18 @@ "version": "6.15.1", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.1.tgz", "integrity": "sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==", - "dev": true, "license": "MIT" }, "node_modules/@types/range-parser": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "dev": true, "license": "MIT" }, "node_modules/@types/send": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", - "dev": true, "license": "MIT", "dependencies": { "@types/node": "*" @@ -445,7 +449,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-2.2.0.tgz", "integrity": "sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==", - "dev": true, "license": "MIT", "dependencies": { "@types/http-errors": "*", diff --git a/package.json b/package.json index 7bdd1df..6e38719 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "test": "echo \"Error: no test specified\" && exit 1" }, "dependencies": { + "@janishutz/oidc-login-sdk-server": "^1.1.0", "@types/cors": "^2.8.19", "cors": "^2.8.6", "express": "^5.2.1", diff --git a/src/index.ts b/src/index.ts index b877ae3..da448c4 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,26 +1,33 @@ +import { + configure +} from '@janishutz/oidc-login-sdk-server'; import connect from 'express-openid-connect'; import express from 'express'; const app = express(); -app.use( connect.auth( { - 'authRequired': false, - 'issuerBaseURL': process.env.OIDC_ISSUER, - 'clientID': process.env.OIDC_CLIENT_ID, - 'clientSecret': process.env.OIDC_CLIENT_SECRET, - 'secret': process.env.SIGNING_SECRET, - 'baseURL': process.env.APP_BASE_URL, - 'authorizationParams': { - 'scope': 'openid profile email', - 'response_type': 'code' +configure( + app, + new URL( process.env.OIDC_ISSUER! ), + new URL( process.env.APP_BASE_URL! ), + false, + [], + false, + new URL( 'https://janishutz.com' ), + async ( req, res, session ) => { + console.log( req.oidc.user ); + console.log( session ); + + return session; } -} ) ); +); app.get( '/', ( _request, response ) => { response.send( 'Hello World' ); } ); app.get( '/account', connect.requiresAuth(), ( request, response ) => { + console.log( request.oidc.user ); response.send( 'Account' ); } );