Commit Graph

32 Commits

Author SHA1 Message Date
Ulysse Carion
162dd87fc1
lib/saml: fix base64 encoding of SAML assertions for users with non-ASCII names (#16)
This PR fixes `encodeAssertion` to use btoa correctly for SAML
assertions that contain non-ASCII.

Messages are first manually encoded into UTF-8, and the resulting data
is coerced into a JS string that btoa will correctly encode. That
intermediary string isn't entirely meaningful -- JS strings are UTF-16,
not UTF-8 -- but I think this "hack" of sorts is tolerable given how
fleeting its use is.
2025-01-13 14:50:34 -08:00
Ulysse Carion
683d9222cb
scim: match /Users results in "Resources" or "resources" (#15)
This PR has the SCIM matching logic support results from a SCIM `GET
/Users` call being in `Resources` or `resources`. In practice, SCIM
servers use both, due to inconsistency in the original specification.

Closes #14.
2025-01-10 10:30:49 -08:00
Ulysse Carion
b0f1e44617
Fix redirect / metadata url, <title> (#13) 2024-10-31 15:18:30 -07:00
Ulysse Carion
acbef8f1ef
Move UI pages for app and login into pages router (#12)
The app router is causing too much grief to be worthwhile here. The
pages for individual apps are fine to have in the pages router -- we're
fine with straight-up SPA stuff -- so just stop using app router rather
than figure out how to get Next.js to understand the data-fetching
lifecycle.
2024-10-29 15:02:10 -07:00
Ulysse Carion
8ea1061fb1
Add HTTP-Redirect binding to app metadata (#11)
This PR adds a HTTP-Redirect binding to the metadata for apps. The login
page already implements that binding, so this PR just uses that as the
HTTP-Redirect location.

Closes #10.
2024-10-24 09:16:53 -07:00
Ulysse Carion
6d92ea395d
Add metadata URL for apps (#9)
This PR adds a metadata URL to all apps.
2024-10-18 11:01:45 -07:00
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
Ulysse Carion
a0e0878bf9
Add screenshot to README (#7) 2024-10-15 11:12:01 -07:00
Ulysse Carion
1243c5ff68
add icon.svg (#6) 2024-10-10 12:24:39 -07:00
Ulysse Carion
8937aac406
Nits + index page (#5) 2024-10-10 11:14:10 -07:00
Ulysse Carion
8b9e028f09
change bearer token placeholder from https://... to just ... (#4) 2024-10-07 15:29:59 -07:00
Ulysse Carion
2c14bfebc9
Make "create app" UI nicer, and make IDP redirect URIs use custom domain (#3) 2024-10-07 08:58:11 -07:00
Ulysse Carion
7f173bcabf
Move to Next.js (#2)
* tmp

* reset

* begin conversion to nextjs

* more appeasing of stuff

* about to add shadcn

* tmp commit

* switch to new-york style

* fix nextjs build error

* tmp

* start hooking up users to login page

* e2e flows

* preview stuff

* shuffle around where assertion is displayed

* start copy stuff

* tooltip for lack of sp settings

* update footer

* add wordmark, navbar to index

* add scim stuff

* fix build error

* title, copy updates

* more copy, adjusting

* fix tailwindui weirdness

* fix copy

* instant setup

* hard-code insecure key

* footer copy, docslink urls

* subtitles, copy updates
2024-10-03 09:57:43 -07:00
Ulysse Carion
cacfa55999
include cert in saml assertions (#1) 2024-09-25 10:19:21 -07:00
Ulysse Carion
0dc99f4e20
add sso. to sign-on url 2024-08-13 09:21:37 -07:00
Ulysse Carion
db76b2a3a2
add debug logging to netlify function 2024-05-24 17:16:35 -07:00
Ulysse Carion
4b670ba2e9
use js 2024-05-24 16:23:33 -07:00
Ulysse Carion
dd8632ffa3
add POST rewriting function 2024-05-24 16:04:36 -07:00
Ulysse Carion
833f967861 appease typescript 2024-05-18 16:51:39 -07:00
Ulysse Carion
2c4efcf23a add email domain editing for apps 2024-05-18 16:49:38 -07:00
Ulysse Carion
79cb2f1704 SSOPage: add placeholder text 2024-05-17 13:10:37 -07:00
Ulysse Carion
4657daaf8d add console easter egg 2024-05-17 13:05:24 -07:00
Ulysse Carion
1d9535e3ed InstantSetupPage: use replace: true for redirect 2024-05-17 12:54:35 -07:00
Ulysse Carion
90ca3525ab add loading.gif 2024-05-17 10:19:59 -07:00
Ulysse Carion
0a70f1cbf2 copy and appearance updates 2024-05-17 10:13:27 -07:00
Ulysse Carion
9f9f5d83c8 check in assets 2024-05-16 16:09:03 -07:00
Ulysse Carion
1bd22a8a48 add required domains for apps 2024-05-16 16:05:30 -07:00
Ulysse Carion
d8732d7853 set assertion expire time 1 hour ago 2024-05-15 19:28:27 -07:00
Ulysse Carion
7fecd8b87b sp acs url 2024-05-15 16:30:12 -07:00
Ulysse Carion
2b64f1de76 instant setup flow 2024-05-14 12:04:47 -07:00
Ulysse Carion
c31ad152b9 create, edit, and sso with apps 2024-05-14 11:30:50 -07:00
Ulysse Carion
b049eb8fa5 spike: create assertions 2024-05-13 16:19:21 -07:00