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
TableJSON 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 examplesexport 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 responsecase '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'],