func (b *basicAuthCreds) RequireTransportSecurity() bool {
	return true
}
RequireTransportSecurity should be true as even though the credentials are base64, we want to have it encrypted over the wire.
package main
import (
	"crypto/tls"
	"encoding/base64"
	"flag"
	"fmt"
	"log"
	"sort"
	pb "github.com/pieterlouw/grpc-beyond/proto"
	context "golang.org/x/net/context"
	grpc "google.golang.org/grpc"
	"google.golang.org/grpc/credentials"
)
var target = flag.String("l", ":7100", "Specify the port that the server is listening on")
var username = flag.String("u", "scaramoucheX2", "Specify the username to auth the call")
var password = flag.String("p", "Can-you-do-the-fandango?", "Specify the password to auth the call")
type byVersion []*pb.ReleaseInfo
func (b byVersion) Len() int           { return len(b) }
func (b byVersion) Swap(i, j int)      { b[i], b[j] = b[j], b[i] }
func (b byVersion) Less(i, j int) bool { return b[i].GetVersion() < b[j].GetVersion() }
func main() {
	flag.Parse()
	creds := credentials.NewTLS(&tls.Config{
		InsecureSkipVerify: true,  
	})
	grpcAuth := &basicAuthCreds{
		username: *username,
		password: *password,
	}
	conn, err := grpc.Dial(*target,
		grpc.WithTransportCredentials(creds),
		grpc.WithPerRPCCredentials(grpcAuth),
	)
	if err != nil {
		log.Fatalf("grpc.Dial err: %v", err)
	}
	client := pb.NewGoReleaseServiceClient(conn)
	ctx := context.Background()
	rsp, err := client.ListReleases(ctx, &pb.ListReleasesRequest{})
	if err != nil {
		log.Fatalf("ListReleases err: %v", err)
	}
	releases := rsp.GetReleases()
	if len(releases) > 0 {
		sort.Sort(byVersion(releases))
		fmt.Printf("Version\tRelease Date\tRelease Notes\n")
	} else {
		fmt.Println("No releases found")
	}
	for _, ri := range releases {
		fmt.Printf("%s\t%s\t%s\n", ri.GetVersion(), ri.GetReleaseDate(), ri.GetReleaseNotesURL())
	}
}
type basicAuthCreds struct {
	username, password string
}
func (b *basicAuthCreds) GetRequestMetadata(context.Context, ...string) (map[string]string, error) {
	return map[string]string{
		"authorization": "Basic " + basicAuth(b.username, b.password),
	}, nil
}