code: func (wfe *WebFrontEndImpl) deactivateAuthorization(
  	ctx context.Context,
  	authz *core.Authorization,
  	logEvent *web.RequestEvent,
  	response http.ResponseWriter,
  	body []byte) bool {
  	var req struct {
  		Status core.AcmeStatus
  	}
  	err := json.Unmarshal(body, &req)
  	if err != nil {
  		wfe.sendError(response, logEvent, probs.Malformed("Error unmarshaling JSON"), err)
  		return false
  	}
  	if req.Status != core.StatusDeactivated {
  		wfe.sendError(response, logEvent, probs.Malformed("Invalid status value"), err)
  		return false
  	}
  	err = wfe.RA.DeactivateAuthorization(ctx, *authz)
  	if err != nil {
  		wfe.sendError(response, logEvent, web.ProblemDetailsForError(err, "Error deactivating authorization"), err)
  		return false
  	}
  	// Since the authorization passed to DeactivateAuthorization isn't
  	// mutated locally by the function we must manually set the status
  	// here before displaying the authorization to the user
  	authz.Status = core.StatusDeactivated
  	return true
  }
docs: // deactivateAuthorization processes the given JWS POST body as a request to
  // deactivate the provided authorization. If an error occurs it is written to
  // the response writer. Important: `deactivateAuthorization` does not check that
  // the requester is authorized to deactivate the given authorization. It is
  // assumed that this check is performed prior to calling deactivateAuthorzation.