Newer
Older
package mytokenlib
import (
"github.com/oidc-mytoken/server/internal/endpoints/revocation/pkg"
"github.com/oidc-mytoken/server/pkg/model"
"github.com/oidc-mytoken/server/shared/httpClient"
)
func (my *Mytoken) Revoke(superToken, oidcIssuer string, recursive bool) error {
req := pkg.RevocationRequest{
Token: superToken,
Recursive: recursive,
OIDCIssuer: oidcIssuer,
}
resp, err := httpClient.Do().R().SetBody(req).SetError(&model.APIError{}).Post(my.RevocationEndpoint)
if err != nil {
return newMytokenErrorFromError("error while sending http request", err)
}
if e := resp.Error(); e != nil {
if errRes := e.(*model.APIError); errRes != nil && len(errRes.Error) > 0 {
return &MytokenError{
err: errRes.Error,
errorDetails: errRes.ErrorDescription,
}
}
}
return nil
}