# Class type Rpc_client.auth_session

    class type auth_session = object .. end

An `auth_session` object is normally created for every client instance. It contains the current state of authentication. The methods are only interesting for implementors of authentication methods.

This class type might be revised in the future to allow asynchronous authentication (authentication often uses some network service).

    method next_credentials : t ->
           Rpc_program.t ->
           string ->
           Rtypes.uint4 ->
           string * string * string * string * Xdr.encoder option * Xdr.decoder option

Called with `client prog proc xid`. Returns `(cred_flavour, cred_data, verifier_flavor, verifier_data, enc_opt, dec_opt)`.

Changed in Ocamlnet-3.3: Additional arguments `prog`, `proc`, `xid`. New return values `enc_opt` and `dec_opt`.

    method server_rejects : t -> Rtypes.uint4 -> Rpc.server_error -> reject_code

Called if the server rejects the credentials or the verifier (Auth_xxx). This method indicates how to react on errors.

Changed in Ocamlnet-3.3: Additional arg `xid`. New return value.

    method server_accepts : t -> Rtypes.uint4 -> string -> string -> unit

Called if the server accepts the credentials. The two strings are the returned `verifier_flavor` and `verifier_data`. This method may raise `Rpc_server Rpc_invalid_resp` to indicate that the returned verifier is wrong.

Changed in Ocamlnet-3.3: Additional arg `xid`

    method auth_protocol : auth_protocol

Return the corresponding protocol