{"record":{"id":"60edd1e6c60c11a4","repo":"apache/seatunnel","slug":"unsupported-auth-type-from","errorCode":null,"errorMessage":"Unsupported auth type: {}, from {}","messagePattern":"Unsupported auth type: (.+?), from (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"seatunnel-connectors-v2/connector-edge-socket/src/main/java/org/apache/seatunnel/connectors/seatunnel/edgesocket/protocol/IngressProtocolHandler.java","lineNumber":48,"sourceCode":"import java.security.MessageDigest;\nimport java.util.Objects;\nimport java.util.function.BooleanSupplier;\n\n@Slf4j\npublic class IngressProtocolHandler {\n\n    private final EdgeSocketConfig config;\n    private final IncomingRecordHandler handler;\n\n    public IngressProtocolHandler(EdgeSocketConfig config, IncomingRecordHandler handler) {\n        this.config = config;\n        this.handler = handler;\n    }\n\n    public boolean authenticate(IngressChannel channel) throws IOException {\n        if (config.getAuthType() != EdgeSocketAuthType.TOKEN) {\n            channel.writeLine(EdgeSocketResponseCode.AUTH_FAILED.getCode());\n            log.warn(\n                    \"Unsupported auth type: {}, from {}\",\n                    config.getAuthType(),\n                    channel.remoteAddress());\n            return false;\n        }\n        String authLine;\n        try {\n            authLine = channel.readLine();\n        } catch (SocketTimeoutException timeoutException) {\n            channel.writeLine(EdgeSocketResponseCode.AUTH_FAILED.getCode());\n            log.warn(\n                    \"Collector authentication timeout from {}, connection rejected\",\n                    channel.remoteAddress());\n            return false;\n        }\n        if (authLine == null) {\n            channel.writeLine(EdgeSocketResponseCode.AUTH_FAILED.getCode());\n            log.warn(","sourceCodeStart":30,"sourceCodeEnd":66,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-edge-socket/src/main/java/org/apache/seatunnel/connectors/seatunnel/edgesocket/protocol/IngressProtocolHandler.java#L30-L66","documentation":"A WARN logged by IngressProtocolHandler.authenticate when the EdgeSocket connector is configured with an auth type other than TOKEN (currently the only supported ingress authentication). The incoming collector connection is immediately rejected with the AUTH_FAILED response code.","triggerScenarios":"A collector connects to the EdgeSocket ingress port while `auth_type` in the server config is set to anything other than `token` (e.g. `none`, `basic`, or a typo).","commonSituations":"Config copied from an example using a different auth scheme; misspelled enum value; forward-compatibility attempt with a not-yet-supported auth type.","solutions":["Set `auth_type = token` in the EdgeSocket server configuration.","Ensure collectors send the matching token auth line after connecting.","Check the EdgeSocketAuthType enum for valid values and fix any typos.","Upgrade SeaTunnel if another auth type is documented for your target version."],"exampleFix":"// before\nEdgeSocketOptions.AUTH_TYPE = \"basic\"\n// after\nEdgeSocketOptions.AUTH_TYPE = \"token\"","handlingStrategy":"validation","validationCode":"if (!\"token\".equalsIgnoreCase(config.getAuthType().name())) {\n    throw new IllegalArgumentException(\"EdgeSocket ingress only supports auth_type=token\");\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Always configure auth_type=token for ingress","Validate enum values against EdgeSocketAuthType at config load","Check current docs for supported auth schemes per version"],"tags":["edge-socket","authentication","config","unsupported"],"backgroundTag":"unsupported-enum-value","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}