Test your SAML/SCIM integration without setting up a full-blown Identity Provider
Go to file
Ulysse Carion 4fb9c7b3ca
base64-encode data url for IDP certificate (#8)
This PR fixes a bug affecting Safari. In Safari, it would appear the
newlines in data urls are stripped unless they are encoded as base64.

This PR base64-encodes the IDP certificate, which fixes the regression:

```
cat /Users/ucarion/Downloads/DummyIDP\ Certificate-3.crt 
-----BEGIN CERTIFICATE-----MIIDBzCCAe+gAwIBAgIUCLBK4f75EXEe4gyroYnVaqLoSp4wDQYJKoZIhvcNAQELBQAwEzERMA8GA1UEAwwIZHVtbXlpZHAwHhcNMjQwNTEzMjE1NDE2WhcNMzQwNTExMjE1NDE2WjATMREwDwYDVQQDDAhkdW1teWlkcDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKhmgQmWb8NvGhz952XY4SlJlpWIK72RilhOZS9frDYhqWVJHsGH9Z7sSzrM/0+YvCyEWuZV9gpMeIaHZxEPDqW3RJ7KG51fn/s/qFvwctf+CZDjyfGDzYs+XIgf7p56U48EmYeWpB/aUW64gSbnPqrtWmVFBisOfIx5aY3NubtTsn+g0XbdX0L57+NgSvPQHXh/GPXA7xCIWm54G5kqjozxbKEFA0DS3yb6oHRQWHqIAM/7mJMdUVZNIV1q7c2JIgAl23uDWq+2KTE2R5liP/KjvjwKonVKtTqGqX6ei25rsTHOaDpBH/LdQK2txgsm7R7+IThWNvUI0TttrmwBqyMCAwEAAaNTMFEwHQYDVR0OBBYEFD142gxIAJMhpgMkgpzmRNoW9XbEMB8GA1UdIwQYMBaAFD142gxIAJMhpgMkgpzmRNoW9XbEMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBADQd6k6zFIc20GfGHY5C2MFwyGOmP5/UG/JiTq7Zky28G6D0NA0je+GztzXx7VYDfCfHxLcm2k5t9nYhb9kVawiLUUDVF6s+yZUXA4gUA3KoTWh1/oRxR3ggW7dKYm9fsNOdQAbxUUkzp7HLZ45ZlpKUS0hO7es+fPyF5KVw0g0SrtQWwWucnQMAQE9m+B0aOf+92y7JQkdgdR8Gd/XZ4NZfoOnKV7A1utT4rWxYCgICeRTHx9tly5OhPW4hQr5qOpngcsJ9vhr86IjznQXhfj3hql5lA3VbHW04ro37ROIkh2bShDq5dwJJHpYCGrF3MQv8S3m+jzGhYL6m9gFTm/8=-----END CERTIFICATE-----%                                                              

cat /Users/ucarion/Downloads/DummyIDP\ Certificate-4.crt 
-----BEGIN CERTIFICATE-----
MIIDBzCCAe+gAwIBAgIUCLBK4f75EXEe4gyroYnVaqLoSp4wDQYJKoZIhvcNAQEL
BQAwEzERMA8GA1UEAwwIZHVtbXlpZHAwHhcNMjQwNTEzMjE1NDE2WhcNMzQwNTEx
MjE1NDE2WjATMREwDwYDVQQDDAhkdW1teWlkcDCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAKhmgQmWb8NvGhz952XY4SlJlpWIK72RilhOZS9frDYhqWVJ
HsGH9Z7sSzrM/0+YvCyEWuZV9gpMeIaHZxEPDqW3RJ7KG51fn/s/qFvwctf+CZDj
yfGDzYs+XIgf7p56U48EmYeWpB/aUW64gSbnPqrtWmVFBisOfIx5aY3NubtTsn+g
0XbdX0L57+NgSvPQHXh/GPXA7xCIWm54G5kqjozxbKEFA0DS3yb6oHRQWHqIAM/7
mJMdUVZNIV1q7c2JIgAl23uDWq+2KTE2R5liP/KjvjwKonVKtTqGqX6ei25rsTHO
aDpBH/LdQK2txgsm7R7+IThWNvUI0TttrmwBqyMCAwEAAaNTMFEwHQYDVR0OBBYE
FD142gxIAJMhpgMkgpzmRNoW9XbEMB8GA1UdIwQYMBaAFD142gxIAJMhpgMkgpzm
RNoW9XbEMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBADQd6k6z
FIc20GfGHY5C2MFwyGOmP5/UG/JiTq7Zky28G6D0NA0je+GztzXx7VYDfCfHxLcm
2k5t9nYhb9kVawiLUUDVF6s+yZUXA4gUA3KoTWh1/oRxR3ggW7dKYm9fsNOdQAbx
UUkzp7HLZ45ZlpKUS0hO7es+fPyF5KVw0g0SrtQWwWucnQMAQE9m+B0aOf+92y7J
QkdgdR8Gd/XZ4NZfoOnKV7A1utT4rWxYCgICeRTHx9tly5OhPW4hQr5qOpngcsJ9
vhr86IjznQXhfj3hql5lA3VbHW04ro37ROIkh2bShDq5dwJJHpYCGrF3MQv8S3m+
jzGhYL6m9gFTm/8=
-----END CERTIFICATE-----%                                                                                                                                           
```
2024-10-18 10:20:04 -07:00
public Nits + index page (#5) 2024-10-10 11:14:10 -07:00
src base64-encode data url for IDP certificate (#8) 2024-10-18 10:20:04 -07:00
.env.development.local Move to Next.js (#2) 2024-10-03 09:57:43 -07:00
.gitignore Move to Next.js (#2) 2024-10-03 09:57:43 -07:00
.nvmrc spike: create assertions 2024-05-13 16:19:21 -07:00
.prettierignore spike: create assertions 2024-05-13 16:19:21 -07:00
.prettierrc.json spike: create assertions 2024-05-13 16:19:21 -07:00
components.json Move to Next.js (#2) 2024-10-03 09:57:43 -07:00
LICENSE Nits + index page (#5) 2024-10-10 11:14:10 -07:00
next-env.d.ts Move to Next.js (#2) 2024-10-03 09:57:43 -07:00
next.config.js Move to Next.js (#2) 2024-10-03 09:57:43 -07:00
package-lock.json Move to Next.js (#2) 2024-10-03 09:57:43 -07:00
package.json Move to Next.js (#2) 2024-10-03 09:57:43 -07:00
postcss.config.js Move to Next.js (#2) 2024-10-03 09:57:43 -07:00
README.md Add screenshot to README (#7) 2024-10-15 11:12:01 -07:00
screenshot.png Add screenshot to README (#7) 2024-10-15 11:12:01 -07:00
tailwind.config.js Move to Next.js (#2) 2024-10-03 09:57:43 -07:00
tsconfig.json Move to Next.js (#2) 2024-10-03 09:57:43 -07:00

DummyIDP

DummyIDP is a website you can use to test your application's SAML and SCIM support end-to-end. From your application's perspective, it's exactly like the identity provider ("IDP") your customers use, but unlike commercial IDPs there's no "input your email" or "talk to sales" step to use DummyIDP.

DummyIDP implements the "Identity Provider" side of the SAML and SCIM protocols. It is meant for use as a way to test your application's support for the "Service Provider" side of the SAML and SCIM protocols. See "DummyIDP Security Posture" for details.

Local development / self-hosting

DummyIDP is available for free online at https://dummyidp.com. You can also self-host it or hack on it locally.

DummyIDP is a Next.js application. It is deployed in production on Vercel. You can hack on it yourself by running:

npm install
npm run dev