Add Neon access review driver support

Register Neon as a connector provider and add a new access review
driver that fetches organization members from the Neon API with
cursor-based pagination.

Neon's OAuth is partner-gated, so the connector is API-key only
(Bearer, the default scheme). A personal or organization API key can
belong to several organizations; the operator supplies the ID of the
one to review. The members endpoint exposes per-user MFA state
(has_mfa) and deactivation, which map to the access entry MFA status
and active flag; the stable account UUID (user_id) is used as the
external ID over the membership ID.

Signed-off-by: Aurélien Sibiril <81782+aureliensibiril@users.noreply.github.com>
This commit is contained in:
Aurélien Sibiril
2026-06-10 00:49:57 +02:00
parent 7640376d32
commit ec858e58df
17 changed files with 763 additions and 1 deletions

View File

@@ -0,0 +1,16 @@
import type { ComponentProps } from "react";
export function Neon(props: ComponentProps<"svg">) {
return (
<svg
viewBox="0 0 64 64"
xmlns="http://www.w3.org/2000/svg"
{...props}
>
<path
d="M63 0.0177909V63.5526L38.4178 42.2501V63.5526H0V0L63 0.0177909ZM7.72251 55.8389H30.6953V25.3238L55.2779 47.0476V7.72922L7.72251 7.71559V55.8389Z"
fill="#37C38F"
/>
</svg>
);
}

View File

@@ -37,6 +37,7 @@ import { Linear } from "./Linear";
import { Metabase } from "./Metabase";
import { Microsoft } from "./Microsoft";
import { Monday } from "./Monday";
import { Neon } from "./Neon";
import { Netlify } from "./Netlify";
import { Notion } from "./Notion";
import { Okta } from "./Okta";
@@ -83,6 +84,7 @@ const thirdParties: Record<string, FC<ComponentProps<"svg">>> = {
MICROSOFT: Microsoft,
MICROSOFT_365: Microsoft,
MONDAY: Monday,
NEON: Neon,
NETLIFY: Netlify,
NOTION: Notion,
OKTA: Okta,

View File

@@ -21,6 +21,7 @@ export { Linear } from "./Linear";
export { Metabase } from "./Metabase";
export { Microsoft } from "./Microsoft";
export { Monday } from "./Monday";
export { Neon } from "./Neon";
export { Netlify } from "./Netlify";
export { Notion } from "./Notion";
export { Okta } from "./Okta";