protected void onUnsuccessfulAuthentication(
            final ServerCall<?, ?> call,
            final Metadata headers,
            final AuthenticationException failed) {
        // Overwrite to add custom behavior.
    }
Hook that will be called on unsuccessful authentication. Implementations must use the call instance only in a
non-disruptive manner, i.e. to access call attributes or the call descriptor. Implementations must not close the
call and must not pollute the current thread/context with any call-related state, including authentication,
beyond the duration of the method invocation.

<p>
<b>Note:</b> This method is called only if the request contains an authentication but the
{@link AuthenticationManager} considers it invalid. This method is not called if an authenticated user is not
authorized to perform the requested action.
</p>

<p>
By default, this method does nothing.
</p>

@param call The call instance to receive response messages.
@param headers The headers associated with the call.
@param failed The exception related to the unsuccessful authentication.
grpc-server-spring-boot-starter/src/main/java/net/devh/boot/grpc/server/security/interceptors/DefaultAuthenticatingServerInterceptor.java