functor (S : HiddenServiceInfo->
  sig
    val authenticate :
      mode:string ->
      ext:'Eliom_openid.extension ->
      handler:('Eliom_openid.authentication_result ->
               Eliom_registration.browser_content Eliom_registration.kind
               Lwt.t) ->
      discovery:string * string option -> Eliom_lib.Url.t Lwt.t
  end