code: func (s *Session) Bind(ctx context.Context, uid string) error {
  	if uid == "" {
  		return constants.ErrIllegalUID
  	}
  
  	if s.UID() != "" {
  		return constants.ErrSessionAlreadyBound
  	}
  
  	s.uid = uid
  	for _, cb := range sessionBindCallbacks {
  		err := cb(ctx, s)
  		if err != nil {
  			s.uid = ""
  			return err
  		}
  	}
  
  	for _, cb := range afterBindCallbacks {
  		err := cb(ctx, s)
  		if err != nil {
  			s.uid = ""
  			return err
  		}
  	}
  
  	// if code running on frontend server
  	if s.IsFrontend {
  		sessionsByUID.Store(uid, s)
  	} else {
  		// If frontentID is set this means it is a remote call and the current server
  		// is not the frontend server that received the user request
  		err := s.bindInFront(ctx)
  		if err != nil {
  			logger.Log.Error("error while trying to push session to front: ", err)
  			s.uid = ""
  			return err
  		}
  	}
  	return nil
  }
docs: // Bind bind UID to current session