diff --git a/sso/sso_client_api.go b/sso/sso_client_api.go index 7c3c9ed..9a16a7f 100644 --- a/sso/sso_client_api.go +++ b/sso/sso_client_api.go @@ -93,15 +93,15 @@ func (s *SsoEnforcer) SsoClientLogin(ctx ctx.Context) (interface{}, error) { if loginId == "" { return nil, errors.New("invalid ticket: " + ticket) } - // login - _, err = s.enforcer.Login(loginId, ctx) + // login in client actually + token, err := s.enforcer.Login(loginId, ctx) if err != nil { return nil, err } // redirect to back response.Redirect(back) - return nil, nil + return model.Ok().SetData(token), nil } // SsoClientLogout SSO-Client single-logout. @@ -188,7 +188,7 @@ func (s *SsoEnforcer) SsoClientLogoutCall(ctx ctx.Context) (interface{}, error) return nil, err } // logout - err = s.enforcer.Logout(ctx) + err = s.enforcer.LogoutById(loginId) if err != nil { return nil, err } diff --git a/sso/sso_internal_api.go b/sso/sso_internal_api.go index ded504b..664a217 100644 --- a/sso/sso_internal_api.go +++ b/sso/sso_internal_api.go @@ -100,6 +100,7 @@ func (s *SsoEnforcer) CheckTicketByClient(ticket string, client string) (string, return "", nil } + // get client from id var ticketClient string if strings.Contains(id, ",") { split := strings.Split(id, ",") @@ -155,10 +156,10 @@ func (s *SsoEnforcer) RegisterSloCallbackUrl(loginId string, sloCallbackUrl stri var v []string if value != nil { sv, ok := value.([]string) - v = sv if !ok { return errors.New("session SLO_CALLBACK_SET_KEY_ data convert into []string failed") } + v = sv } v = util.AppendStr(v, sloCallbackUrl)