Struct Client

Source
pub struct Client { /* private fields */ }
Expand description

The authly client handle.

Implementations§

Source§

impl Client

Source

pub fn builder() -> ClientBuilder

Construct a new builder.

Source

pub async fn metadata(&self) -> Result<ServiceMetadata, Error>

Retrieve the ServiceMetadata about service this client identifies as.

Source

pub async fn metadata_stream( &self, ) -> Result<BoxStream<'static, ServiceMetadata>, Error>

Get a stream of ServiceMetadata changes.

The first metadata in the stream resolves immediately, and is the current metadata.

Source

pub fn get_resource_property_mapping(&self) -> Arc<NamespacePropertyMapping>

Get the current resource properties of this service, in the form of a NamespacePropertyMapping.

Source

pub fn decode_access_token( &self, access_token: impl Into<String>, ) -> Result<Arc<AccessToken>, Error>

Decode and validate an Authly AccessToken. The access token usually represents an entity which is a user of the system.

Source

pub async fn get_access_token( &self, session_token: &str, ) -> Result<Arc<AccessToken>, Error>

Exchange a session token for an access token suitable for evaluating access control.

Source

pub fn into_dyn_access_control( self, ) -> Arc<dyn AccessControl + Send + Sync + 'static>

Convert a clone of self into a dynamically dispatched access control object.

This can be useful in tests where access control needs to be mocked out.

Source

pub async fn generate_server_tls_params( &self, subject_common_name: &str, ) -> Result<(CertificateDer<'static>, PrivateKeyDer<'static>), Error>

Generate a server certificate and a key pair for the service.

This involves sending a Certificate Signing Request for Authly to resolve.

Returns a pair of Certificate signed by the Authly Local CA, and the matching private key to be used by the server.

The common name can be any chosen text identifying the service.

Source

pub fn connection_params_stream( &self, ) -> BoxStream<'static, Arc<ConnectionParams>>

Generates a stream of ConnectionParams that this client uses to connect to Authly.

The TLS-related parts of those parameters can be used by the client when communicating with other services in the Authly service mesh.

The first stream item will resolve immediately.

Trait Implementations§

Source§

impl AccessControl for Client

Source§

fn access_control_request(&self) -> AccessControlRequestBuilder<'_>

Make a new access control request, returning a builder for building it.
Source§

fn evaluate( &self, builder: AccessControlRequestBuilder<'_>, ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + '_>>

Evaluate the access control request.
Source§

impl Clone for Client

Source§

fn clone(&self) -> Client

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

§

impl Freeze for Client

§

impl !RefUnwindSafe for Client

§

impl Send for Client

§

impl Sync for Client

§

impl Unpin for Client

§

impl !UnwindSafe for Client

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

Source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

Source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

Source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,