dhis2_setup_authentication_patterns
Generate authentication patterns and examples for DHIS2 applications, supporting multiple authentication types and providers with configurable security features.
Instructions
Generate authentication patterns and examples for DHIS2 app
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| authType | Yes | Type of authentication to implement | |
| providers | No | Authentication providers to support | |
| sessionManagement | No | ||
| securityFeatures | No | ||
| redirectUrls | No |
Implementation Reference
- src/webapp-generators.ts:543-587 (handler)Handler function that generates authentication setup patterns and code examples
export function generateAuthenticationPatterns(args: any): string { const { authType, providers = [], sessionManagement = {}, securityFeatures = {}, redirectUrls = {} } = args; return `# DHIS2 Authentication Patterns ## ${authType.toUpperCase()} Authentication Setup ${generateAuthTypeImplementation(authType)} ${providers.length > 0 ? generateProviderIntegration(providers) : ''} ## Session Management \`\`\`javascript const sessionConfig = { timeout: ${sessionManagement.timeout || 30}, // minutes refreshTokens: ${sessionManagement.refreshTokens || false}, rememberUser: ${sessionManagement.rememberUser || false} }; \`\`\` ${Object.keys(securityFeatures).length > 0 ? generateSecurityConfiguration(securityFeatures) : ''} ## Redirect Configuration \`\`\`javascript const redirectConfig = { success: '${redirectUrls.success || '/dashboard'}', failure: '${redirectUrls.failure || '/login'}', logout: '${redirectUrls.logout || '/login'}' }; \`\`\` ## Testing Authentication \`\`\`bash # Test login endpoint curl -X POST \\ -H "Content-Type: application/json" \\ -d '{"username":"admin","password":"district"}' \\ https://your-dhis2-instance.com/api/auth/login # Test current user endpoint curl -H "Cookie: JSESSIONID=your-session-id" \\ https://your-dhis2-instance.com/api/me \`\`\` `; } - src/index.ts:1045-1055 (registration)Tool registration and dispatch handler in the main MCP server index file, calling the generateAuthenticationPatterns function with user arguments and returning the generated markdown as tool response
case 'dhis2_setup_authentication_patterns': const authArgs = args as any; const authPatterns = generateAuthenticationPatterns(authArgs); return { content: [ { type: 'text', text: authPatterns, }, ], }; - src/permission-system.ts:140-140 (registration)Permission mapping registration associating the tool with 'canConfigureApps' permission requirement in the TOOL_PERMISSIONS map
['dhis2_setup_authentication_patterns', 'canConfigureApps'],