fix(auth): handle bad identity lookups #20

merged
opened by brookjeynes.dev targeting master from push-trrpxxyxxmot
Changed files
+7 -2
internal
server
handlers
+7 -2
internal/server/handlers/login.go
···
// Basic handle validation
if !strings.Contains(handle, ".") {
-
l.Error("invalid handle format", "err", handle)
+
l.Error("invalid handle format", "handle", handle)
htmx.HxError(w, http.StatusBadGateway, fmt.Sprintf("'%s' is an invalid handle. Did you mean %s.bsky.social?", handle, handle))
return
}
resolved, err := h.IdResolver.ResolveIdent(context.Background(), handle)
-
if err == nil {
+
if err != nil {
+
l.Error("failed to resolve handle", "handle", handle, "err", err)
+
htmx.HxError(w, http.StatusBadGateway, fmt.Sprintf("'%s' is an invalid handle", handle))
+
return
+
} else {
if !h.Config.Core.Dev && resolved.DID.String() != "" {
err := h.Posthog.Enqueue(posthog.Capture{
DistinctId: string(resolved.DID),
···
redirectURL, err := h.Oauth.ClientApp.StartAuthFlow(r.Context(), handle)
if err != nil {
+
l.Error("failed to resolve auth flow", "handle", handle, "err", err)
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}