okta-mcp-server
Version:
Model Context Protocol (MCP) server for Okta API operations with support for bulk operations and caching
39 lines • 1.2 kB
JavaScript
import { z } from 'zod';
// Common validation schemas
export const OktaDomainSchema = z
.string()
.url()
.refine((url) => {
try {
const parsedUrl = new URL(url);
const hostname = parsedUrl.hostname.toLowerCase();
// Validate that the hostname ends with the allowed Okta domains
// This prevents subdomain bypass attacks
return (hostname.endsWith('.okta.com') ||
hostname.endsWith('.oktapreview.com') ||
hostname === 'okta.com' ||
hostname === 'oktapreview.com');
}
catch {
return false;
}
}, {
message: 'Must be a valid Okta domain',
});
export const EmailSchema = z.string().email();
export const UUIDSchema = z.string().uuid();
export const PaginationSchema = z.object({
limit: z.number().int().positive().max(200).default(20),
after: z.string().optional(),
});
// Validation helper functions
export function validateOktaDomain(domain) {
return OktaDomainSchema.parse(domain);
}
export function validateEmail(email) {
return EmailSchema.parse(email);
}
export function validateUUID(uuid) {
return UUIDSchema.parse(uuid);
}
//# sourceMappingURL=validators.js.map