diff --git a/Makefile b/Makefile
index db3737290cea7e25bb5172c17da1df32c621dd52..d8b41a4bf704adb47b6ed31c4972b4961fb45ea0 100644
--- a/Makefile
+++ b/Makefile
@@ -19,9 +19,9 @@ LD_FLAGS="-w -X main.version=$(VERSION)"
 GOLANGCI_VERSION   = 1.52.0
 GOTESTSUM_VERSION ?= 1.9.0
 
-PROTOC_VERSION             = 3.15.6
-PROTOC_GEN_GO_VERSION      = 1.26.0
-PROTOC_GEN_GO_GRPC_VERSION = 1.1.0
+PROTOC_VERSION             = 21.12
+PROTOC_GEN_GO_VERSION      = 1.28.1
+PROTOC_GEN_GO_GRPC_VERSION = 1.3.0
 
 KIND_VERSION    = 0.17.0
 KIND_NODE_IMAGE = "kindest/node:v1.25.3@sha256:cd248d1438192f7814fbca8fede13cfe5b9918746dfa12583976158a834fd5c5"
diff --git a/api/api.pb.go b/api/api.pb.go
index 6d1c2ca82e5f192f0df6d519801ffacb6654c603..8e24f61ddd71f6575b147d257e14fc651690cb14 100644
--- a/api/api.pb.go
+++ b/api/api.pb.go
@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.26.0
-// 	protoc        v3.15.6
+// 	protoc-gen-go v1.28.1
+// 	protoc        v3.21.12
 // source: api/api.proto
 
 package api
diff --git a/api/api_grpc.pb.go b/api/api_grpc.pb.go
index e8c9873cb5e21816a4f3a0f4814e26bd08426d96..c58d435752cd617e203ea16875e542d49d3ba520 100644
--- a/api/api_grpc.pb.go
+++ b/api/api_grpc.pb.go
@@ -1,4 +1,8 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
+// versions:
+// - protoc-gen-go-grpc v1.3.0
+// - protoc             v3.21.12
+// source: api/api.proto
 
 package api
 
@@ -14,6 +18,20 @@ import (
 // Requires gRPC-Go v1.32.0 or later.
 const _ = grpc.SupportPackageIsVersion7
 
+const (
+	Dex_CreateClient_FullMethodName   = "/api.Dex/CreateClient"
+	Dex_UpdateClient_FullMethodName   = "/api.Dex/UpdateClient"
+	Dex_DeleteClient_FullMethodName   = "/api.Dex/DeleteClient"
+	Dex_CreatePassword_FullMethodName = "/api.Dex/CreatePassword"
+	Dex_UpdatePassword_FullMethodName = "/api.Dex/UpdatePassword"
+	Dex_DeletePassword_FullMethodName = "/api.Dex/DeletePassword"
+	Dex_ListPasswords_FullMethodName  = "/api.Dex/ListPasswords"
+	Dex_GetVersion_FullMethodName     = "/api.Dex/GetVersion"
+	Dex_ListRefresh_FullMethodName    = "/api.Dex/ListRefresh"
+	Dex_RevokeRefresh_FullMethodName  = "/api.Dex/RevokeRefresh"
+	Dex_VerifyPassword_FullMethodName = "/api.Dex/VerifyPassword"
+)
+
 // DexClient is the client API for Dex service.
 //
 // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
@@ -54,7 +72,7 @@ func NewDexClient(cc grpc.ClientConnInterface) DexClient {
 
 func (c *dexClient) CreateClient(ctx context.Context, in *CreateClientReq, opts ...grpc.CallOption) (*CreateClientResp, error) {
 	out := new(CreateClientResp)
-	err := c.cc.Invoke(ctx, "/api.Dex/CreateClient", in, out, opts...)
+	err := c.cc.Invoke(ctx, Dex_CreateClient_FullMethodName, in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -63,7 +81,7 @@ func (c *dexClient) CreateClient(ctx context.Context, in *CreateClientReq, opts
 
 func (c *dexClient) UpdateClient(ctx context.Context, in *UpdateClientReq, opts ...grpc.CallOption) (*UpdateClientResp, error) {
 	out := new(UpdateClientResp)
-	err := c.cc.Invoke(ctx, "/api.Dex/UpdateClient", in, out, opts...)
+	err := c.cc.Invoke(ctx, Dex_UpdateClient_FullMethodName, in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -72,7 +90,7 @@ func (c *dexClient) UpdateClient(ctx context.Context, in *UpdateClientReq, opts
 
 func (c *dexClient) DeleteClient(ctx context.Context, in *DeleteClientReq, opts ...grpc.CallOption) (*DeleteClientResp, error) {
 	out := new(DeleteClientResp)
-	err := c.cc.Invoke(ctx, "/api.Dex/DeleteClient", in, out, opts...)
+	err := c.cc.Invoke(ctx, Dex_DeleteClient_FullMethodName, in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -81,7 +99,7 @@ func (c *dexClient) DeleteClient(ctx context.Context, in *DeleteClientReq, opts
 
 func (c *dexClient) CreatePassword(ctx context.Context, in *CreatePasswordReq, opts ...grpc.CallOption) (*CreatePasswordResp, error) {
 	out := new(CreatePasswordResp)
-	err := c.cc.Invoke(ctx, "/api.Dex/CreatePassword", in, out, opts...)
+	err := c.cc.Invoke(ctx, Dex_CreatePassword_FullMethodName, in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -90,7 +108,7 @@ func (c *dexClient) CreatePassword(ctx context.Context, in *CreatePasswordReq, o
 
 func (c *dexClient) UpdatePassword(ctx context.Context, in *UpdatePasswordReq, opts ...grpc.CallOption) (*UpdatePasswordResp, error) {
 	out := new(UpdatePasswordResp)
-	err := c.cc.Invoke(ctx, "/api.Dex/UpdatePassword", in, out, opts...)
+	err := c.cc.Invoke(ctx, Dex_UpdatePassword_FullMethodName, in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -99,7 +117,7 @@ func (c *dexClient) UpdatePassword(ctx context.Context, in *UpdatePasswordReq, o
 
 func (c *dexClient) DeletePassword(ctx context.Context, in *DeletePasswordReq, opts ...grpc.CallOption) (*DeletePasswordResp, error) {
 	out := new(DeletePasswordResp)
-	err := c.cc.Invoke(ctx, "/api.Dex/DeletePassword", in, out, opts...)
+	err := c.cc.Invoke(ctx, Dex_DeletePassword_FullMethodName, in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -108,7 +126,7 @@ func (c *dexClient) DeletePassword(ctx context.Context, in *DeletePasswordReq, o
 
 func (c *dexClient) ListPasswords(ctx context.Context, in *ListPasswordReq, opts ...grpc.CallOption) (*ListPasswordResp, error) {
 	out := new(ListPasswordResp)
-	err := c.cc.Invoke(ctx, "/api.Dex/ListPasswords", in, out, opts...)
+	err := c.cc.Invoke(ctx, Dex_ListPasswords_FullMethodName, in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -117,7 +135,7 @@ func (c *dexClient) ListPasswords(ctx context.Context, in *ListPasswordReq, opts
 
 func (c *dexClient) GetVersion(ctx context.Context, in *VersionReq, opts ...grpc.CallOption) (*VersionResp, error) {
 	out := new(VersionResp)
-	err := c.cc.Invoke(ctx, "/api.Dex/GetVersion", in, out, opts...)
+	err := c.cc.Invoke(ctx, Dex_GetVersion_FullMethodName, in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -126,7 +144,7 @@ func (c *dexClient) GetVersion(ctx context.Context, in *VersionReq, opts ...grpc
 
 func (c *dexClient) ListRefresh(ctx context.Context, in *ListRefreshReq, opts ...grpc.CallOption) (*ListRefreshResp, error) {
 	out := new(ListRefreshResp)
-	err := c.cc.Invoke(ctx, "/api.Dex/ListRefresh", in, out, opts...)
+	err := c.cc.Invoke(ctx, Dex_ListRefresh_FullMethodName, in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -135,7 +153,7 @@ func (c *dexClient) ListRefresh(ctx context.Context, in *ListRefreshReq, opts ..
 
 func (c *dexClient) RevokeRefresh(ctx context.Context, in *RevokeRefreshReq, opts ...grpc.CallOption) (*RevokeRefreshResp, error) {
 	out := new(RevokeRefreshResp)
-	err := c.cc.Invoke(ctx, "/api.Dex/RevokeRefresh", in, out, opts...)
+	err := c.cc.Invoke(ctx, Dex_RevokeRefresh_FullMethodName, in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -144,7 +162,7 @@ func (c *dexClient) RevokeRefresh(ctx context.Context, in *RevokeRefreshReq, opt
 
 func (c *dexClient) VerifyPassword(ctx context.Context, in *VerifyPasswordReq, opts ...grpc.CallOption) (*VerifyPasswordResp, error) {
 	out := new(VerifyPasswordResp)
-	err := c.cc.Invoke(ctx, "/api.Dex/VerifyPassword", in, out, opts...)
+	err := c.cc.Invoke(ctx, Dex_VerifyPassword_FullMethodName, in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -242,7 +260,7 @@ func _Dex_CreateClient_Handler(srv interface{}, ctx context.Context, dec func(in
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/api.Dex/CreateClient",
+		FullMethod: Dex_CreateClient_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(DexServer).CreateClient(ctx, req.(*CreateClientReq))
@@ -260,7 +278,7 @@ func _Dex_UpdateClient_Handler(srv interface{}, ctx context.Context, dec func(in
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/api.Dex/UpdateClient",
+		FullMethod: Dex_UpdateClient_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(DexServer).UpdateClient(ctx, req.(*UpdateClientReq))
@@ -278,7 +296,7 @@ func _Dex_DeleteClient_Handler(srv interface{}, ctx context.Context, dec func(in
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/api.Dex/DeleteClient",
+		FullMethod: Dex_DeleteClient_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(DexServer).DeleteClient(ctx, req.(*DeleteClientReq))
@@ -296,7 +314,7 @@ func _Dex_CreatePassword_Handler(srv interface{}, ctx context.Context, dec func(
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/api.Dex/CreatePassword",
+		FullMethod: Dex_CreatePassword_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(DexServer).CreatePassword(ctx, req.(*CreatePasswordReq))
@@ -314,7 +332,7 @@ func _Dex_UpdatePassword_Handler(srv interface{}, ctx context.Context, dec func(
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/api.Dex/UpdatePassword",
+		FullMethod: Dex_UpdatePassword_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(DexServer).UpdatePassword(ctx, req.(*UpdatePasswordReq))
@@ -332,7 +350,7 @@ func _Dex_DeletePassword_Handler(srv interface{}, ctx context.Context, dec func(
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/api.Dex/DeletePassword",
+		FullMethod: Dex_DeletePassword_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(DexServer).DeletePassword(ctx, req.(*DeletePasswordReq))
@@ -350,7 +368,7 @@ func _Dex_ListPasswords_Handler(srv interface{}, ctx context.Context, dec func(i
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/api.Dex/ListPasswords",
+		FullMethod: Dex_ListPasswords_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(DexServer).ListPasswords(ctx, req.(*ListPasswordReq))
@@ -368,7 +386,7 @@ func _Dex_GetVersion_Handler(srv interface{}, ctx context.Context, dec func(inte
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/api.Dex/GetVersion",
+		FullMethod: Dex_GetVersion_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(DexServer).GetVersion(ctx, req.(*VersionReq))
@@ -386,7 +404,7 @@ func _Dex_ListRefresh_Handler(srv interface{}, ctx context.Context, dec func(int
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/api.Dex/ListRefresh",
+		FullMethod: Dex_ListRefresh_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(DexServer).ListRefresh(ctx, req.(*ListRefreshReq))
@@ -404,7 +422,7 @@ func _Dex_RevokeRefresh_Handler(srv interface{}, ctx context.Context, dec func(i
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/api.Dex/RevokeRefresh",
+		FullMethod: Dex_RevokeRefresh_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(DexServer).RevokeRefresh(ctx, req.(*RevokeRefreshReq))
@@ -422,7 +440,7 @@ func _Dex_VerifyPassword_Handler(srv interface{}, ctx context.Context, dec func(
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/api.Dex/VerifyPassword",
+		FullMethod: Dex_VerifyPassword_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(DexServer).VerifyPassword(ctx, req.(*VerifyPasswordReq))
diff --git a/api/v2/api.pb.go b/api/v2/api.pb.go
index f49310f3110f3a846377c878e9de58e461cca196..abaef0eef81cb232c2f583f211fcffeff791397f 100644
--- a/api/v2/api.pb.go
+++ b/api/v2/api.pb.go
@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.26.0
-// 	protoc        v3.15.6
+// 	protoc-gen-go v1.28.1
+// 	protoc        v3.21.12
 // source: api/v2/api.proto
 
 package api
diff --git a/api/v2/api_grpc.pb.go b/api/v2/api_grpc.pb.go
index 8b3b10bc522c6c23c823769224af1be5b650b20d..73abef2661aaa0ed63e7b5fd93167134fc31f968 100644
--- a/api/v2/api_grpc.pb.go
+++ b/api/v2/api_grpc.pb.go
@@ -1,4 +1,8 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
+// versions:
+// - protoc-gen-go-grpc v1.3.0
+// - protoc             v3.21.12
+// source: api/v2/api.proto
 
 package api
 
@@ -14,6 +18,20 @@ import (
 // Requires gRPC-Go v1.32.0 or later.
 const _ = grpc.SupportPackageIsVersion7
 
+const (
+	Dex_CreateClient_FullMethodName   = "/api.Dex/CreateClient"
+	Dex_UpdateClient_FullMethodName   = "/api.Dex/UpdateClient"
+	Dex_DeleteClient_FullMethodName   = "/api.Dex/DeleteClient"
+	Dex_CreatePassword_FullMethodName = "/api.Dex/CreatePassword"
+	Dex_UpdatePassword_FullMethodName = "/api.Dex/UpdatePassword"
+	Dex_DeletePassword_FullMethodName = "/api.Dex/DeletePassword"
+	Dex_ListPasswords_FullMethodName  = "/api.Dex/ListPasswords"
+	Dex_GetVersion_FullMethodName     = "/api.Dex/GetVersion"
+	Dex_ListRefresh_FullMethodName    = "/api.Dex/ListRefresh"
+	Dex_RevokeRefresh_FullMethodName  = "/api.Dex/RevokeRefresh"
+	Dex_VerifyPassword_FullMethodName = "/api.Dex/VerifyPassword"
+)
+
 // DexClient is the client API for Dex service.
 //
 // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
@@ -54,7 +72,7 @@ func NewDexClient(cc grpc.ClientConnInterface) DexClient {
 
 func (c *dexClient) CreateClient(ctx context.Context, in *CreateClientReq, opts ...grpc.CallOption) (*CreateClientResp, error) {
 	out := new(CreateClientResp)
-	err := c.cc.Invoke(ctx, "/api.Dex/CreateClient", in, out, opts...)
+	err := c.cc.Invoke(ctx, Dex_CreateClient_FullMethodName, in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -63,7 +81,7 @@ func (c *dexClient) CreateClient(ctx context.Context, in *CreateClientReq, opts
 
 func (c *dexClient) UpdateClient(ctx context.Context, in *UpdateClientReq, opts ...grpc.CallOption) (*UpdateClientResp, error) {
 	out := new(UpdateClientResp)
-	err := c.cc.Invoke(ctx, "/api.Dex/UpdateClient", in, out, opts...)
+	err := c.cc.Invoke(ctx, Dex_UpdateClient_FullMethodName, in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -72,7 +90,7 @@ func (c *dexClient) UpdateClient(ctx context.Context, in *UpdateClientReq, opts
 
 func (c *dexClient) DeleteClient(ctx context.Context, in *DeleteClientReq, opts ...grpc.CallOption) (*DeleteClientResp, error) {
 	out := new(DeleteClientResp)
-	err := c.cc.Invoke(ctx, "/api.Dex/DeleteClient", in, out, opts...)
+	err := c.cc.Invoke(ctx, Dex_DeleteClient_FullMethodName, in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -81,7 +99,7 @@ func (c *dexClient) DeleteClient(ctx context.Context, in *DeleteClientReq, opts
 
 func (c *dexClient) CreatePassword(ctx context.Context, in *CreatePasswordReq, opts ...grpc.CallOption) (*CreatePasswordResp, error) {
 	out := new(CreatePasswordResp)
-	err := c.cc.Invoke(ctx, "/api.Dex/CreatePassword", in, out, opts...)
+	err := c.cc.Invoke(ctx, Dex_CreatePassword_FullMethodName, in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -90,7 +108,7 @@ func (c *dexClient) CreatePassword(ctx context.Context, in *CreatePasswordReq, o
 
 func (c *dexClient) UpdatePassword(ctx context.Context, in *UpdatePasswordReq, opts ...grpc.CallOption) (*UpdatePasswordResp, error) {
 	out := new(UpdatePasswordResp)
-	err := c.cc.Invoke(ctx, "/api.Dex/UpdatePassword", in, out, opts...)
+	err := c.cc.Invoke(ctx, Dex_UpdatePassword_FullMethodName, in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -99,7 +117,7 @@ func (c *dexClient) UpdatePassword(ctx context.Context, in *UpdatePasswordReq, o
 
 func (c *dexClient) DeletePassword(ctx context.Context, in *DeletePasswordReq, opts ...grpc.CallOption) (*DeletePasswordResp, error) {
 	out := new(DeletePasswordResp)
-	err := c.cc.Invoke(ctx, "/api.Dex/DeletePassword", in, out, opts...)
+	err := c.cc.Invoke(ctx, Dex_DeletePassword_FullMethodName, in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -108,7 +126,7 @@ func (c *dexClient) DeletePassword(ctx context.Context, in *DeletePasswordReq, o
 
 func (c *dexClient) ListPasswords(ctx context.Context, in *ListPasswordReq, opts ...grpc.CallOption) (*ListPasswordResp, error) {
 	out := new(ListPasswordResp)
-	err := c.cc.Invoke(ctx, "/api.Dex/ListPasswords", in, out, opts...)
+	err := c.cc.Invoke(ctx, Dex_ListPasswords_FullMethodName, in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -117,7 +135,7 @@ func (c *dexClient) ListPasswords(ctx context.Context, in *ListPasswordReq, opts
 
 func (c *dexClient) GetVersion(ctx context.Context, in *VersionReq, opts ...grpc.CallOption) (*VersionResp, error) {
 	out := new(VersionResp)
-	err := c.cc.Invoke(ctx, "/api.Dex/GetVersion", in, out, opts...)
+	err := c.cc.Invoke(ctx, Dex_GetVersion_FullMethodName, in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -126,7 +144,7 @@ func (c *dexClient) GetVersion(ctx context.Context, in *VersionReq, opts ...grpc
 
 func (c *dexClient) ListRefresh(ctx context.Context, in *ListRefreshReq, opts ...grpc.CallOption) (*ListRefreshResp, error) {
 	out := new(ListRefreshResp)
-	err := c.cc.Invoke(ctx, "/api.Dex/ListRefresh", in, out, opts...)
+	err := c.cc.Invoke(ctx, Dex_ListRefresh_FullMethodName, in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -135,7 +153,7 @@ func (c *dexClient) ListRefresh(ctx context.Context, in *ListRefreshReq, opts ..
 
 func (c *dexClient) RevokeRefresh(ctx context.Context, in *RevokeRefreshReq, opts ...grpc.CallOption) (*RevokeRefreshResp, error) {
 	out := new(RevokeRefreshResp)
-	err := c.cc.Invoke(ctx, "/api.Dex/RevokeRefresh", in, out, opts...)
+	err := c.cc.Invoke(ctx, Dex_RevokeRefresh_FullMethodName, in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -144,7 +162,7 @@ func (c *dexClient) RevokeRefresh(ctx context.Context, in *RevokeRefreshReq, opt
 
 func (c *dexClient) VerifyPassword(ctx context.Context, in *VerifyPasswordReq, opts ...grpc.CallOption) (*VerifyPasswordResp, error) {
 	out := new(VerifyPasswordResp)
-	err := c.cc.Invoke(ctx, "/api.Dex/VerifyPassword", in, out, opts...)
+	err := c.cc.Invoke(ctx, Dex_VerifyPassword_FullMethodName, in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -242,7 +260,7 @@ func _Dex_CreateClient_Handler(srv interface{}, ctx context.Context, dec func(in
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/api.Dex/CreateClient",
+		FullMethod: Dex_CreateClient_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(DexServer).CreateClient(ctx, req.(*CreateClientReq))
@@ -260,7 +278,7 @@ func _Dex_UpdateClient_Handler(srv interface{}, ctx context.Context, dec func(in
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/api.Dex/UpdateClient",
+		FullMethod: Dex_UpdateClient_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(DexServer).UpdateClient(ctx, req.(*UpdateClientReq))
@@ -278,7 +296,7 @@ func _Dex_DeleteClient_Handler(srv interface{}, ctx context.Context, dec func(in
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/api.Dex/DeleteClient",
+		FullMethod: Dex_DeleteClient_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(DexServer).DeleteClient(ctx, req.(*DeleteClientReq))
@@ -296,7 +314,7 @@ func _Dex_CreatePassword_Handler(srv interface{}, ctx context.Context, dec func(
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/api.Dex/CreatePassword",
+		FullMethod: Dex_CreatePassword_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(DexServer).CreatePassword(ctx, req.(*CreatePasswordReq))
@@ -314,7 +332,7 @@ func _Dex_UpdatePassword_Handler(srv interface{}, ctx context.Context, dec func(
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/api.Dex/UpdatePassword",
+		FullMethod: Dex_UpdatePassword_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(DexServer).UpdatePassword(ctx, req.(*UpdatePasswordReq))
@@ -332,7 +350,7 @@ func _Dex_DeletePassword_Handler(srv interface{}, ctx context.Context, dec func(
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/api.Dex/DeletePassword",
+		FullMethod: Dex_DeletePassword_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(DexServer).DeletePassword(ctx, req.(*DeletePasswordReq))
@@ -350,7 +368,7 @@ func _Dex_ListPasswords_Handler(srv interface{}, ctx context.Context, dec func(i
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/api.Dex/ListPasswords",
+		FullMethod: Dex_ListPasswords_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(DexServer).ListPasswords(ctx, req.(*ListPasswordReq))
@@ -368,7 +386,7 @@ func _Dex_GetVersion_Handler(srv interface{}, ctx context.Context, dec func(inte
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/api.Dex/GetVersion",
+		FullMethod: Dex_GetVersion_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(DexServer).GetVersion(ctx, req.(*VersionReq))
@@ -386,7 +404,7 @@ func _Dex_ListRefresh_Handler(srv interface{}, ctx context.Context, dec func(int
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/api.Dex/ListRefresh",
+		FullMethod: Dex_ListRefresh_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(DexServer).ListRefresh(ctx, req.(*ListRefreshReq))
@@ -404,7 +422,7 @@ func _Dex_RevokeRefresh_Handler(srv interface{}, ctx context.Context, dec func(i
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/api.Dex/RevokeRefresh",
+		FullMethod: Dex_RevokeRefresh_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(DexServer).RevokeRefresh(ctx, req.(*RevokeRefreshReq))
@@ -422,7 +440,7 @@ func _Dex_VerifyPassword_Handler(srv interface{}, ctx context.Context, dec func(
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/api.Dex/VerifyPassword",
+		FullMethod: Dex_VerifyPassword_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(DexServer).VerifyPassword(ctx, req.(*VerifyPasswordReq))
diff --git a/server/internal/types.pb.go b/server/internal/types.pb.go
index 379c556a932647cb562939c973a73282ec23aa9b..211839bfeb40f29ae0119d60e1cd8570cdb105e6 100644
--- a/server/internal/types.pb.go
+++ b/server/internal/types.pb.go
@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.26.0
-// 	protoc        v3.15.6
+// 	protoc-gen-go v1.28.1
+// 	protoc        v3.21.12
 // source: server/internal/types.proto
 
 // Package internal holds protobuf types used by the server.