func GetAuthToken(ctx context.Context, conn *grpc.ClientConn, tok string) (string, error) {
	ctx = WithBearerToken(ctx, tok)
	cli := pb.NewCredStoreAuthClient(conn)
	repl, err := cli.Auth(ctx, &pb.AuthRequest{})
	if err != nil {
		return "", err
	}
	return repl.GetAuthJwt(), nil
}
GetAuthToken returns a session JWT token.
package client
import (
	"crypto"
	"crypto/x509"
	"fmt"
	"os"
	"strings"
	"github.com/google/go-microservice-helpers/client"
	"golang.org/x/net/context"
	"google.golang.org/grpc"
	pb "github.com/google/credstore/api"
)
func GetSigningKey(ctx context.Context, conn *grpc.ClientConn, tok string) (crypto.PublicKey, error) {
	ctx = WithBearerToken(ctx, tok)
	cli := pb.NewCredStoreAuthClient(conn)
	repl, err := cli.SigningKey(ctx, &pb.SigningKeyRequest{})
	if err != nil {
		return nil, err
	}
	pubkey, err := x509.ParsePKIXPublicKey(repl.GetSigningKey())
	if k, ok := pubkey.(crypto.PublicKey); ok {
		return k, nil
	}
	return nil, fmt.Errorf("cannot parse the public key")
}