 (defprotocol IAuthentication
   "Protocol that defines unfied workflow steps for
   all authentication backends."
-  (^:private parse [_ request]
+  (-parse [_ request]
     "Parse token (from cookie, session or any other
     http header) and return it.")
-  (^:private authenticate [_ context token]
+  (-authenticate [_ context token]
     "Given a request and parsed data (from previous step), tries
     authenticate the current request and return the user entity.
     This function should return a IPromise instance."))

    :or {token-name "Token"}}]
  (reify
    IAuthentication
    (parse [_ context]
      (parse-authorization-header context token-name))
    (authenticate [_ context token]
      (p/promise (fn [resolve]
                   (try+
                    (resolve (jws/unsign token secret options))

    :or {token-name "Token"}}]
  (reify
    IAuthentication
    (-parse [_ context]
      (parse-authorization-header context token-name))
    (-authenticate [_ context token]
      (p/promise (fn [resolve]
                   (try+
                    (resolve (jwe/decrypt token secret options))
