mirror of
https://github.com/andwati/zitadel.git
synced 2026-10-18 05:52:51 +00:00
# Which Problems Are Solved Add Passkey challenge needed for Create/Set session in the RT model. # How the Problems Are Solved Introduce `PasskeyChallengeCommand` (validate/execute/events) for session creation checks Add a generic `BeginWebAuthNLogin` helper that returns session data + assertion JSON bytes. Add unit tests # Additional Changes N/A # Additional Context - Related to https://github.com/zitadel/zitadel/issues/11035 --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: Marco A. <[email protected]>
34 lines
1.4 KiB
Go
34 lines
1.4 KiB
Go
package convert
|
|
|
|
import (
|
|
"github.com/zitadel/zitadel/backend/v3/domain"
|
|
old_domain "github.com/zitadel/zitadel/internal/domain"
|
|
session_grpc "github.com/zitadel/zitadel/pkg/grpc/session/v2"
|
|
)
|
|
|
|
func ChallengePasskeyGRPCToDomain(challengePasskey *session_grpc.RequestChallenges_WebAuthN) *domain.ChallengeTypePasskey {
|
|
if challengePasskey == nil {
|
|
return nil
|
|
}
|
|
userVerificationRequirement := pbUserVerificationRequirementToDomain(challengePasskey.GetUserVerificationRequirement())
|
|
return &domain.ChallengeTypePasskey{
|
|
Domain: challengePasskey.GetDomain(),
|
|
UserVerificationRequirement: userVerificationRequirement,
|
|
}
|
|
}
|
|
|
|
func pbUserVerificationRequirementToDomain(req session_grpc.UserVerificationRequirement) old_domain.UserVerificationRequirement {
|
|
switch req {
|
|
case session_grpc.UserVerificationRequirement_USER_VERIFICATION_REQUIREMENT_UNSPECIFIED:
|
|
return old_domain.UserVerificationRequirementUnspecified
|
|
case session_grpc.UserVerificationRequirement_USER_VERIFICATION_REQUIREMENT_REQUIRED:
|
|
return old_domain.UserVerificationRequirementRequired
|
|
case session_grpc.UserVerificationRequirement_USER_VERIFICATION_REQUIREMENT_PREFERRED:
|
|
return old_domain.UserVerificationRequirementPreferred
|
|
case session_grpc.UserVerificationRequirement_USER_VERIFICATION_REQUIREMENT_DISCOURAGED:
|
|
return old_domain.UserVerificationRequirementDiscouraged
|
|
default:
|
|
return old_domain.UserVerificationRequirementUnspecified
|
|
}
|
|
}
|