Class SSLContextGrpcAuthenticationReader

java.lang.Object
net.devh.boot.grpc.server.security.authentication.SSLContextGrpcAuthenticationReader
All Implemented Interfaces:
GrpcAuthenticationReader

public class SSLContextGrpcAuthenticationReader extends Object implements GrpcAuthenticationReader
An GrpcAuthenticationReader that will try to use the peer certificates to extract the client Authentication. Currently this class only supports X509Certificates.
  • Constructor Details

    • SSLContextGrpcAuthenticationReader

      public SSLContextGrpcAuthenticationReader()
  • Method Details

    • readAuthentication

      public Authentication readAuthentication(ServerCall<?,?> call, Metadata metadata)
      Description copied from interface: GrpcAuthenticationReader
      Tries to read the Authentication information from the given call and metadata.

      Note: Implementations are free to throw an AuthenticationException if no credentials could be found in the call. If an exception is thrown by an implementation then the authentication attempt should be considered as failed and no subsequent GrpcAuthenticationReaders should be called. Additionally, the call will fail as Status.UNAUTHENTICATED. If the call instead returns null, then the call processing will proceed unauthenticated.

      Specified by:
      readAuthentication in interface GrpcAuthenticationReader
      Parameters:
      call - The call to get that send the request.
      metadata - The metadata/headers as sent by the client.
      Returns:
      The authentication object or null if no authentication is present.
    • fromCertificate

      @Nullable protected Authentication fromCertificate(Certificate cert)
      Tries to prepare an Authentication using the given certificate.
      Parameters:
      cert - The certificate to use.
      Returns:
      The authentication instance created with the certificate or null if the certificate type is unsupported.