From c5ab7761d175510930ada4627f63b4c5a70e3938 Mon Sep 17 00:00:00 2001 From: Kiran K Date: Tue, 25 Oct 2022 22:08:56 +0530 Subject: [PATCH] Download metadata url (#91) * Bump eslint from 8.23.1 to 8.24.0 Bumps [eslint](https://github.com/eslint/eslint) from 8.23.1 to 8.24.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v8.23.1...v8.24.0) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * Bump next from 12.3.0 to 12.3.1 Bumps [next](https://github.com/vercel/next.js) from 12.3.0 to 12.3.1. - [Release notes](https://github.com/vercel/next.js/releases) - [Changelog](https://github.com/vercel/next.js/blob/canary/release.js) - [Commits](https://github.com/vercel/next.js/compare/v12.3.0...v12.3.1) --- updated-dependencies: - dependency-name: next dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * Add Download Metadata URL Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pages/api/saml/metadata/index.ts | 27 +++++++++++++++++++ pages/index.tsx | 45 ++++++++++++++++++-------------- styles/globals.css | 1 + 3 files changed, 54 insertions(+), 19 deletions(-) create mode 100644 pages/api/saml/metadata/index.ts diff --git a/pages/api/saml/metadata/index.ts b/pages/api/saml/metadata/index.ts new file mode 100644 index 0000000..a17cc04 --- /dev/null +++ b/pages/api/saml/metadata/index.ts @@ -0,0 +1,27 @@ +import type { NextApiRequest, NextApiResponse } from 'next'; +import saml from '@boxyhq/saml20'; + +import config from 'lib/env'; +import type { IdPMetadata } from 'types'; +import { createIdPMetadataXML } from 'utils'; + +export default async function handler(req: NextApiRequest, res: NextApiResponse) { + switch (req.method) { + case 'GET': + return await MetadataUrl(); + default: + return res.status(405).end(`Method ${req.method} Not Allowed`); + } + + // Metadata URL + async function MetadataUrl() { + const xml = await createIdPMetadataXML({ + idpEntityId: config.entityId, + idpSsoUrl: config.ssoUrl, + certificate: saml.stripCertHeaderAndFooter(config.publicKey), + }); + + res.setHeader('Content-type', 'text/xml'); + res.send(xml); + } +} diff --git a/pages/index.tsx b/pages/index.tsx index 90bac1a..e848840 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -13,25 +13,32 @@ const Home: React.FC<{ metadata: IdPMetadata }> = ({ metadata }) => {

A free SAML 2.0 Identity Provider for testing SAML SSO integrations.

-
- - - - - - Download Metadata - - +
+ Test IdP Login diff --git a/styles/globals.css b/styles/globals.css index 9a8f38c..22e4d7e 100644 --- a/styles/globals.css +++ b/styles/globals.css @@ -43,5 +43,6 @@ a { .btn { @apply rounded; + text-transform: none; } }