No Encoder for BearerTokenMetadata in Spring Security RSocket

When using JWT with Bearer Token, Sending the JWT Token from Requester to Responder fails because there is no Encoder for BearerTokenMetadata (MimeType.BEARER_AUTHENTICATION_MIME_TYPE).

Actual Behavior

No Encoder for this type of Authentication

Expected Behavior

Must have an Encoder

Version

5.2.0.RC1

Sample

Must have an Encoder similar to following.

` public class BearerTokenEncoder extends AbstractEncoder {

public BearerTokenEncoder() {
    super(BearerTokenMetadata.BEARER_AUTHENTICATION_MIME_TYPE);
}

@Override
public Flux<DataBuffer> encode(Publisher<? extends BearerTokenMetadata> publisher, DataBufferFactory dataBufferFactory, ResolvableType resolvableType, MimeType mimeType, Map<String, Object> hints) {
    return Flux.from(publisher).map((credentials) -> {
        return this.encodeValue(credentials, dataBufferFactory, resolvableType, mimeType, hints);
    });
}

@Override
public DataBuffer encodeValue(BearerTokenMetadata credentials, DataBufferFactory bufferFactory, ResolvableType valueType, MimeType mimeType, Map<String, Object> hints) {
    String token = credentials.getToken();
    byte[] tokenBytes = token.getBytes(StandardCharsets.UTF_8);
    DataBuffer metadata = bufferFactory.allocateBuffer();
    boolean release = true;

    DataBuffer dataBuffer;
    try {
        metadata.write(tokenBytes);
        release = false;
        dataBuffer = metadata;
    } finally {
        if (release) {
            DataBufferUtils.release(metadata);
        }
    }

    return dataBuffer;
}

} `

Comment From: jzheaux

message/x.rsocket.authentication.bearer.v0 didn't make it into the spec so is now deprecated. Please use message/x.rsocket.authentication.v0 instead.