Skip to content

Commit

Permalink
feat: Add credential parsing and logging in register finish handler
Browse files Browse the repository at this point in the history
  • Loading branch information
prnk28 committed Dec 9, 2024
1 parent 7ef06e8 commit 60cede3
Showing 1 changed file with 33 additions and 2 deletions.
35 changes: 33 additions & 2 deletions pkg/gateway/handlers/register_handler.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package handlers

import (
"encoding/base64"
"encoding/json"
"fmt"
"net/http"

Expand Down Expand Up @@ -39,8 +41,37 @@ func HandleRegisterStart(c echo.Context) error {
return response.TemplEcho(c, register.LinkCredentialView(dat))
}

type Credential struct {
ID string `json:"id"`
RawID []int `json:"rawId"`
Type string `json:"type"`
Response struct {
AttestationObject []int `json:"attestationObject"`
ClientDataJSON []int `json:"clientDataJSON"`
} `json:"response"`
}

func HandleRegisterFinish(c echo.Context) error {
cred := c.FormValue("credential")
fmt.Println(cred)
credB64 := c.FormValue("credential")

// Decode base64 credential
credJSON, err := base64.StdEncoding.DecodeString(credB64)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, "invalid credential encoding")
}

// Unmarshal credential
var cred Credential
if err := json.Unmarshal(credJSON, &cred); err != nil {
return echo.NewHTTPError(http.StatusBadRequest, "invalid credential format")
}

// Log credential details
fmt.Printf("Credential ID: %s\n", cred.ID)
fmt.Printf("Credential Type: %s\n", cred.Type)
fmt.Printf("Raw ID Length: %d\n", len(cred.RawID))
fmt.Printf("Attestation Object Length: %d\n", len(cred.Response.AttestationObject))
fmt.Printf("Client Data Length: %d\n", len(cred.Response.ClientDataJSON))

return response.TemplEcho(c, register.LoadingVaultView())
}

0 comments on commit 60cede3

Please sign in to comment.