feat: fix sso internal api, add SsoClientLogin return value

This commit is contained in:
weloe
2023-10-15 01:16:48 +08:00
parent 4e68a5b4f7
commit a0324da6bb
2 changed files with 6 additions and 5 deletions

View File

@@ -93,15 +93,15 @@ func (s *SsoEnforcer) SsoClientLogin(ctx ctx.Context) (interface{}, error) {
if loginId == "" { if loginId == "" {
return nil, errors.New("invalid ticket: " + ticket) return nil, errors.New("invalid ticket: " + ticket)
} }
// login // login in client actually
_, err = s.enforcer.Login(loginId, ctx) token, err := s.enforcer.Login(loginId, ctx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
// redirect to back // redirect to back
response.Redirect(back) response.Redirect(back)
return nil, nil return model.Ok().SetData(token), nil
} }
// SsoClientLogout SSO-Client single-logout. // SsoClientLogout SSO-Client single-logout.
@@ -188,7 +188,7 @@ func (s *SsoEnforcer) SsoClientLogoutCall(ctx ctx.Context) (interface{}, error)
return nil, err return nil, err
} }
// logout // logout
err = s.enforcer.Logout(ctx) err = s.enforcer.LogoutById(loginId)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@@ -100,6 +100,7 @@ func (s *SsoEnforcer) CheckTicketByClient(ticket string, client string) (string,
return "", nil return "", nil
} }
// get client from id
var ticketClient string var ticketClient string
if strings.Contains(id, ",") { if strings.Contains(id, ",") {
split := strings.Split(id, ",") split := strings.Split(id, ",")
@@ -155,10 +156,10 @@ func (s *SsoEnforcer) RegisterSloCallbackUrl(loginId string, sloCallbackUrl stri
var v []string var v []string
if value != nil { if value != nil {
sv, ok := value.([]string) sv, ok := value.([]string)
v = sv
if !ok { if !ok {
return errors.New("session SLO_CALLBACK_SET_KEY_ data convert into []string failed") return errors.New("session SLO_CALLBACK_SET_KEY_ data convert into []string failed")
} }
v = sv
} }
v = util.AppendStr(v, sloCallbackUrl) v = util.AppendStr(v, sloCallbackUrl)