feat: auth method query side (#3068)

* feat: queries for searching mfas and passwordless

* feat: tests for user auth method queries

* Update internal/api/grpc/auth/multi_factor.go

Co-authored-by: Livio Amstutz <livio.a@gmail.com>

* Update internal/api/grpc/auth/passwordless.go

Co-authored-by: Livio Amstutz <livio.a@gmail.com>

* Update internal/api/grpc/management/user.go

Co-authored-by: Livio Amstutz <livio.a@gmail.com>

* Update internal/api/grpc/management/user.go

Co-authored-by: Livio Amstutz <livio.a@gmail.com>

Co-authored-by: Livio Amstutz <livio.a@gmail.com>
This commit is contained in:
Fabi
2022-01-20 13:21:59 +01:00
committed by GitHub
parent c3d4db10ac
commit 5c6df06a7c
9 changed files with 672 additions and 67 deletions

View File

@@ -3,6 +3,7 @@ package auth
import (
"context"
"github.com/caos/zitadel/internal/query"
"google.golang.org/protobuf/types/known/durationpb"
"github.com/caos/zitadel/internal/api/authz"
@@ -14,12 +15,21 @@ import (
)
func (s *Server) ListMyPasswordless(ctx context.Context, _ *auth_pb.ListMyPasswordlessRequest) (*auth_pb.ListMyPasswordlessResponse, error) {
tokens, err := s.repo.GetMyPasswordless(ctx)
query := new(query.UserAuthMethodSearchQueries)
err := query.AppendUserIDQuery(authz.GetCtxData(ctx).UserID)
if err != nil {
return nil, err
}
err = query.AppendAuthMethodQuery(domain.UserAuthMethodTypePasswordless)
if err != nil {
return nil, err
}
authMethods, err := s.query.SearchUserAuthMethods(ctx, query)
if err != nil {
return nil, err
}
return &auth_pb.ListMyPasswordlessResponse{
Result: user_grpc.WebAuthNTokensViewToPb(tokens),
Result: user_grpc.UserAuthMethodsToWebAuthNTokenPb(authMethods),
}, nil
}