code: func (c *Challenge) GrantAccessToAll(w http.ResponseWriter, r *http.Request) error {
  	now := time.Now()
  
  	token := jwt.New(jwt.SigningMethodRS256)
  
  	claims := token.Claims.(jwt.MapClaims)
  	claims["aud"] = c.Client.GetID()
  	claims["exp"] = now.Add(time.Minute * 4).Unix()
  	claims["iat"] = now.Unix()
  	claims["scp"] = c.Scopes
  	claims["jti"] = c.JTI
  	claims["sub"] = c.User
  
  	// Sign and get the complete encoded token as a string
  	key, err := c.idp.getConsentKey()
  	if err != nil {
  		return err
  	}
  
  	tokenString, err := token.SignedString(key)
  	if err != nil {
  		return err
  	}
  
  	// Delete the cookie
  	err = c.Delete(w, r)
  	if err != nil {
  		return err
  	}
  
  	// All this work might have taken too long (fetching key may be time consuming)
  	// so check token expiration
  	if c.Expires.Before(time.Now()) {
  		return ErrorChallengeExpired
  	}
  
  	http.Redirect(w, r, c.Redirect+"&consent="+tokenString, http.StatusFound)
  
  	return nil
  }
docs: // User granted access to requested scopes, forward the desicion to Hydra via redirection.