From 30eafdf73cefdffc7c91e10fd81685f673f8db4c Mon Sep 17 00:00:00 2001 From: Emmanuel Gautier Date: Mon, 30 Sep 2024 23:07:28 +0200 Subject: [PATCH] chore(nextjs-app): add thumbnail --- .github/workflows/publish.yml | 3 + examples/nextjs-app/thumbnail.png | Bin 0 -> 70330 bytes examples/vue-spa/.env | 2 + examples/vue-spa/Dockerfile | 30 ++++ examples/vue-spa/package-lock.json | 17 ++- examples/vue-spa/package.json | 3 +- examples/vue-spa/src/App.vue | 12 ++ examples/vue-spa/src/components/.gitkeep | 0 examples/vue-spa/src/components/Button.vue | 6 - examples/vue-spa/src/drivers/testid.ts | 13 -- examples/vue-spa/src/lib/auth.ts | 49 +++++++ examples/vue-spa/src/lib/oidc.ts | 156 +++++++++++++++++++++ examples/vue-spa/src/main.ts | 17 +-- examples/vue-spa/src/router/index.ts | 4 +- examples/vue-spa/src/views/HomeView.vue | 24 ++-- 15 files changed, 278 insertions(+), 58 deletions(-) create mode 100644 examples/nextjs-app/thumbnail.png create mode 100644 examples/vue-spa/.env create mode 100644 examples/vue-spa/Dockerfile create mode 100644 examples/vue-spa/src/components/.gitkeep delete mode 100644 examples/vue-spa/src/components/Button.vue delete mode 100644 examples/vue-spa/src/drivers/testid.ts create mode 100644 examples/vue-spa/src/lib/auth.ts create mode 100644 examples/vue-spa/src/lib/oidc.ts diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 007cf39..b289c45 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -26,6 +26,9 @@ jobs: - workingDirectory: ./examples/react-spa projectName: cerberauth-react-spa-oidc directory: ./dist + - workingDirectory: ./examples/vue-spa + projectName: cerberauth-vue-spa-oidc + directory: ./dist - workingDirectory: ./examples/angular-spa projectName: cerberauth-angular-spa-oidc directory: ./dist/angular-spa/browser diff --git a/examples/nextjs-app/thumbnail.png b/examples/nextjs-app/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..b258de9869bc1ae5db29b32633904a680919cb02 GIT binary patch literal 70330 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

C=n$sxfZGZLE2%xrYLF- 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 literal 0 HcmV?d00001 diff --git a/examples/vue-spa/.env b/examples/vue-spa/.env new file mode 100644 index 0000000..54ff335 --- /dev/null +++ b/examples/vue-spa/.env @@ -0,0 +1,2 @@ +VITE_OIDC_ISSUER="https://testid.cerberauth.com" +VITE_OIDC_CLIENT_ID="" diff --git a/examples/vue-spa/Dockerfile b/examples/vue-spa/Dockerfile new file mode 100644 index 0000000..7333d48 --- /dev/null +++ b/examples/vue-spa/Dockerfile @@ -0,0 +1,30 @@ +FROM node:lts as development + +WORKDIR /app + +COPY package*.json ./ +RUN npm ci + +COPY . . + +ENV CI=true +ENV PORT=3000 + +CMD [ "npm", "start" ] + +FROM development as builder + +RUN npm run build + +FROM nginx:alpine + +# Copy config nginx +COPY --from=builder /app/.nginx/nginx.conf /etc/nginx/conf.d/default.conf + +WORKDIR /usr/share/nginx/html + +# Remove default nginx static assets +RUN rm -rf ./* + +# Copy static assets from builder stage +COPY --from=builder /app/dist . diff --git a/examples/vue-spa/package-lock.json b/examples/vue-spa/package-lock.json index ff064ad..91eed4e 100644 --- a/examples/vue-spa/package-lock.json +++ b/examples/vue-spa/package-lock.json @@ -8,8 +8,8 @@ "name": "vue-spa", "version": "0.0.0", "dependencies": { + "oauth4webapi": "^3.0.0", "vue": "^3.4.29", - "vue-auth3": "^1.0.10", "vue-router": "^4.3.3" }, "devDependencies": { @@ -2899,6 +2899,14 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, + "node_modules/oauth4webapi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/oauth4webapi/-/oauth4webapi-3.0.0.tgz", + "integrity": "sha512-Rw9SxQYuQX9J41VgM4rVNGtm1ng0Qcd8ndv7JmhmwqQ3hHBokX+WjV379IJhKk7bVPHefgvrDgHoO/rB2dY7YA==", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -3856,7 +3864,7 @@ "version": "5.4.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", - "devOptional": true, + "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -4001,11 +4009,6 @@ } } }, - "node_modules/vue-auth3": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/vue-auth3/-/vue-auth3-1.0.10.tgz", - "integrity": "sha512-tI3JhwiUIWtnMwKyzcKsqJkPAQjcEH8leCju5bu1orkmHgYIU0+sFiHrCc3nJsF9ILn19rb6JOeviAQjArtvLg==" - }, "node_modules/vue-eslint-parser": { "version": "9.4.3", "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz", diff --git a/examples/vue-spa/package.json b/examples/vue-spa/package.json index 4f18cd8..232f6e5 100644 --- a/examples/vue-spa/package.json +++ b/examples/vue-spa/package.json @@ -6,6 +6,7 @@ "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", + "pages:build": "vite build --mode production", "preview": "vite preview", "build-only": "vite build", "type-check": "vue-tsc --build --force", @@ -13,8 +14,8 @@ "format": "prettier --write src/" }, "dependencies": { + "oauth4webapi": "^3.0.0", "vue": "^3.4.29", - "vue-auth3": "^1.0.10", "vue-router": "^4.3.3" }, "devDependencies": { diff --git a/examples/vue-spa/src/App.vue b/examples/vue-spa/src/App.vue index a78fb6f..baeba78 100644 --- a/examples/vue-spa/src/App.vue +++ b/examples/vue-spa/src/App.vue @@ -1,5 +1,17 @@