Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 81 additions & 3 deletions apps/wizard-v2/src/data/providers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ export const providers: Provider[] = [
id: "google",
name: "Google Workspace",
logo: "/provider-logos/google-workspace-logo.svg",
protocols: ["saml"],
protocols: ["saml", "oidc"],
},
{
id: "jumpcloud",
Expand All @@ -87,13 +87,13 @@ export const providers: Provider[] = [
id: "entraid",
name: "Microsoft Entra ID",
logo: "/provider-logos/msft_entraid.svg",
protocols: ["saml"],
protocols: ["saml", "oidc"],
},
{
id: "okta",
name: "Okta",
logo: "/provider-logos/okta_logo.png",
protocols: ["saml", "ldap"],
protocols: ["saml", "oidc", "ldap"],
},
{
id: "onelogin",
Expand All @@ -119,6 +119,84 @@ export const providers: Provider[] = [
logo: "/wizards/salesforce/salesforce-logo.png",
protocols: ["saml", "oidc"],
},
{
id: "adp",
name: "ADP",
logo: "/provider-logos/openid_logo.png",
protocols: ["oidc"],
},
{
id: "cas",
name: "CAS",
logo: "/provider-logos/saml_logo.svg",
protocols: ["saml"],
},
{
id: "clever",
name: "Clever",
logo: "/provider-logos/openid_logo.png",
protocols: ["oidc"],
},
{
id: "classlink",
name: "ClassLink",
logo: "/provider-logos/saml_logo.svg",
protocols: ["saml"],
},
{
id: "logingov",
name: "Login.gov",
logo: "/provider-logos/openid_logo.png",
protocols: ["oidc"],
},
{
id: "keycloak",
name: "Keycloak",
logo: "/provider-logos/saml_logo.svg",
protocols: ["saml"],
},
{
id: "miniorange",
name: "miniOrange",
logo: "/provider-logos/saml_logo.svg",
protocols: ["saml"],
},
{
id: "netiq",
name: "NetIQ",
logo: "/provider-logos/saml_logo.svg",
protocols: ["saml"],
},
{
id: "pingfederate",
name: "PingFederate",
logo: "/provider-logos/ping_federate_logo.png",
protocols: ["saml"],
},
{
id: "rippling",
name: "Rippling",
logo: "/provider-logos/saml_logo.svg",
protocols: ["saml"],
},
{
id: "shibboleth",
name: "Shibboleth",
logo: "/provider-logos/saml_logo.svg",
protocols: ["saml"],
},
{
id: "simplesamlphp",
name: "SimpleSAMLphp",
logo: "/provider-logos/saml_logo.svg",
protocols: ["saml"],
},
{
id: "vmware",
name: "VMware Workspace ONE",
logo: "/provider-logos/vmware_logo.svg",
protocols: ["saml"],
},
];

export const allProviders = [...genericProviders, ...providers];
165 changes: 165 additions & 0 deletions apps/wizard-v2/wizards/adp/oidc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
{
"schemaVersion": "1.0",
"id": "adp-oidc",
"providerId": "adp",
"protocol": "oidc",
"title": "ADP OpenID Connect",
"alias": {
"prefix": "adp-oidc",
"sessionKey": "p2_adp_oidc"
},
"idpConfig": {
"providerId": "oidc",
"hideOnLogin": true,
"defaults": {
"syncMode": "FORCE",
"clientAuthMethod": "client_secret_post"
}
},
"steps": [
{
"id": 1,
"title": "Register an API Application",
"blocks": [
{
"type": "text",
"content": "In the ADP Developer Portal, register a new application and request OpenID Connect credentials. Note the Client ID and Client Secret."
}
]
},
{
"id": 2,
"title": "Configure Redirect URI",
"blocks": [
{
"type": "text",
"content": "In your ADP application settings, add the following URL as a redirect URI."
},
{
"type": "copy",
"label": "Redirect URI",
"value": "{{api.ssoUrl}}",
"hint": "Add this as a redirect URI in the ADP Developer Portal"
}
]
},
{
"id": 3,
"title": "Client Credentials",
"enableNextWhen": "state.metadataValidated",
"blocks": [
{
"type": "text",
"content": "Enter the Client ID and Client Secret from your ADP application."
},
{
"type": "formGroup",
"id": "adpCreds",
"exclusive": false,
"forms": [
"clientCredentials"
]
}
]
},
{
"id": 4,
"title": "Confirmation",
"type": "confirm",
"blocks": [
{
"type": "confirm",
"title": "Create ADP Identity Provider",
"description": "Configuration is complete. Click the button below to create the identity provider in Keycloak.",
"buttonText": "Create OIDC Identity Provider",
"action": "createIdp",
"adminLink": "{{api.adminLinkOidc}}",
"adminButtonText": "Manage OIDC Identity Provider"
}
]
}
],
"forms": {
"clientCredentials": {
"title": "ADP Credentials",
"description": "Enter the client credentials from the ADP Developer Portal.",
"fields": [
{
"id": "clientId",
"type": "text",
"label": "Client ID",
"placeholder": "your-client-id",
"required": true
},
{
"id": "clientSecret",
"type": "password",
"label": "Client Secret",
"placeholder": "your-client-secret",
"required": true
}
],
"submit": {
"label": "Verify & Save",
"action": "validateCredentials"
}
}
},
"actions": {
"validateCredentials": {
"endpoint": "importConfig",
"method": "POST",
"contentType": "json",
"body": {
"fromUrl": "https://accounts.adp.com/.well-known/openid-configuration",
"providerId": "oidc"
},
"onSuccess": {
"mergeIntoMetadata": "{{response}}",
"dispatch": [
"METADATA_VALIDATED",
"CREDENTIALS_PROVIDED"
]
},
"messages": {
"success": "ADP OIDC configuration verified. You can now create the identity provider.",
"error": "Could not fetch ADP OIDC configuration. Please try again."
}
},
"createIdp": {
"endpoint": "createIdp",
"method": "POST",
"contentType": "json",
"body": {
"alias": "{{alias}}",
"displayName": "{{alias}}",
"providerId": "oidc",
"hideOnLogin": true,
"config": {
"syncMode": "FORCE",
"clientAuthMethod": "client_secret_post",
"clientId": "{{state.formValues.clientId}}",
"clientSecret": "{{state.formValues.clientSecret}}",
"$spread": "{{state.metadata}}"
}
},
"onSuccess": {
"dispatch": [
{
"type": "SUBMIT_SUCCESS",
"result": "ADP Identity Provider created successfully."
}
],
"then": [
"clearAlias"
]
},
"messages": {
"error": "Error creating Identity Provider. One may already be configured for this realm."
}
},
"clearAlias": {
"type": "clearAlias"
}
}
}
Loading