auth: publish passkey foundations preview
verify / verify (push) Successful in 3m40s

This commit is contained in:
2026-08-21 17:33:00 -04:00
parent fb6bbd0dad
commit bfe6cfd29e
230 changed files with 44547 additions and 17 deletions
+66
View File
@@ -0,0 +1,66 @@
package webauthn_test
import (
"crypto/subtle"
"fmt"
"github.com/go-webauthn/webauthn/webauthn"
)
type defaultUser struct {
id []byte
credentials []webauthn.Credential
}
var _ webauthn.User = (*defaultUser)(nil)
func (user *defaultUser) WebAuthnID() []byte {
return user.id
}
func (user *defaultUser) WebAuthnName() string {
return "newUser"
}
func (user *defaultUser) WebAuthnDisplayName() string {
return "New User"
}
func (user *defaultUser) WebAuthnCredentials() []webauthn.Credential {
return user.credentials
}
var testUser *defaultUser
// GetUser is a crude and abstract example of getting users.
func GetUser() *defaultUser {
return &defaultUser{}
}
// LoadUser is a crude and abstract example of loading users.
func LoadUser() (user *defaultUser, err error) {
if testUser != nil {
return testUser, nil
}
return GetUser(), nil
}
func LoadUserByHandle(handle []byte) (user *defaultUser, err error) {
if testUser != nil {
return nil, fmt.Errorf("not initialized")
}
if subtle.ConstantTimeCompare(testUser.id, handle) != 1 {
return nil, fmt.Errorf("not found")
}
return testUser, nil
}
// SaveUser is a crude and abstract example of saving users.
func SaveUser(user *defaultUser) (err error) {
testUser = user
return nil
}