1
0
forked from baron/baron-sso

headless link login 애플리케이션 표시

This commit is contained in:
2026-04-14 14:43:12 +09:00
parent c5317abada
commit 24208893d6
2 changed files with 38 additions and 6 deletions

View File

@@ -109,6 +109,7 @@ type signupState struct {
type headlessLinkState struct {
ClientID string `json:"clientId"`
ClientName string `json:"clientName,omitempty"`
LoginChallenge string `json:"loginChallenge"`
LoginID string `json:"loginId"`
RedirectTo string `json:"redirectTo,omitempty"`
@@ -2675,6 +2676,7 @@ func (h *AuthHandler) HeadlessLinkInit(c *fiber.Ctx) error {
}
h.storeHeadlessLinkState(pendingRef, headlessLinkState{
ClientID: clientID,
ClientName: strings.TrimSpace(loginReq.Client.ClientName),
LoginChallenge: loginChallenge,
LoginID: resolvedLoginID,
}, ttl)
@@ -4119,6 +4121,21 @@ func (h *AuthHandler) writeLinkAuditLog(loginID, pendingRef string, sessionToken
if rawLoginID != "" && rawLoginID != loginID {
details["login_id_effective"] = loginID
}
if state, ok := h.loadHeadlessLinkState(pendingRef); ok {
if strings.TrimSpace(state.ClientID) != "" {
details["client_id"] = strings.TrimSpace(state.ClientID)
}
clientName := strings.TrimSpace(state.ClientName)
if clientName == "" && strings.TrimSpace(state.ClientID) != "" {
clientName = strings.TrimSpace(state.ClientID)
}
if clientName != "" {
details["client_name"] = clientName
}
if strings.TrimSpace(state.LoginChallenge) != "" {
details["login_challenge"] = strings.TrimSpace(state.LoginChallenge)
}
}
if approverMeta, ok := h.loadLoginApproverMeta(pendingRef); ok {
if approverMeta.IPAddress != "" {
details["approved_ip"] = approverMeta.IPAddress