Struct JsServerCommunicationConfigClient
pub struct JsServerCommunicationConfigClient {
client: ServerCommunicationConfigClient<JsServerCommunicationConfigRepository, JsServerCommunicationConfigPlatformApi>,
}Expand description
JavaScript wrapper for ServerCommunicationConfigClient
This provides TypeScript access to the server communication configuration client, allowing clients to check bootstrap requirements and retrieve cookies for HTTP requests.
Fields§
§client: ServerCommunicationConfigClient<JsServerCommunicationConfigRepository, JsServerCommunicationConfigPlatformApi>Implementations§
§impl JsServerCommunicationConfigClient
impl JsServerCommunicationConfigClient
pub fn new(
repository: RawJsServerCommunicationConfigRepository,
platform_api: RawJsServerCommunicationConfigPlatformApi,
) -> JsServerCommunicationConfigClient
pub fn new( repository: RawJsServerCommunicationConfigRepository, platform_api: RawJsServerCommunicationConfigPlatformApi, ) -> JsServerCommunicationConfigClient
Creates a new ServerCommunicationConfigClient with a JavaScript repository and platform API
The repository should be backed by StateProvider (or equivalent storage mechanism) for persistence.
§Arguments
repository- JavaScript implementation of the repository interfaceplatform_api- JavaScript implementation of the platform API interface
pub async fn get_config(
&self,
hostname: String,
) -> Result<ServerCommunicationConfig, String>
pub async fn get_config( &self, hostname: String, ) -> Result<ServerCommunicationConfig, String>
pub async fn needs_bootstrap(&self, hostname: String) -> bool
pub async fn needs_bootstrap(&self, hostname: String) -> bool
Determines if cookie bootstrapping is needed for this hostname
§Arguments
hostname- The server hostname (e.g., “vault.acme.com”)
Returns all cookies that should be included in requests to this server
Returns an array of [cookie_name, cookie_value] pairs.
§Arguments
hostname- The server hostname (e.g., “vault.acme.com”)
pub async fn set_communication_type(
&self,
hostname: String,
config: ServerCommunicationConfig,
) -> Result<(), String>
pub async fn set_communication_type( &self, hostname: String, config: ServerCommunicationConfig, ) -> Result<(), String>
Sets the server communication configuration for a hostname
This method saves the provided communication configuration to the repository.
Typically called when receiving the /api/config response from the server.
§Arguments
hostname- The server hostname (e.g., “vault.acme.com”)config- The server communication configuration to store
§Errors
Returns an error if the repository save operation fails
Acquires a cookie from the platform and saves it to the repository
This method calls the platform API to trigger cookie acquisition (e.g., browser redirect to IdP), then validates and stores the acquired cookie in the repository.
§Arguments
hostname- The server hostname (e.g., “vault.acme.com”)
§Errors
Returns an error if:
- Cookie acquisition was cancelled by the user
- Server configuration doesn’t support SSO cookies (Direct bootstrap)
- Acquired cookie name doesn’t match expected name
- Repository operations fail
Trait Implementations§
§impl From<JsServerCommunicationConfigClient> for JsValue
impl From<JsServerCommunicationConfigClient> for JsValue
§fn from(value: JsServerCommunicationConfigClient) -> JsValue
fn from(value: JsServerCommunicationConfigClient) -> JsValue
§impl LongRefFromWasmAbi for JsServerCommunicationConfigClient
impl LongRefFromWasmAbi for JsServerCommunicationConfigClient
§type Anchor = RcRef<JsServerCommunicationConfigClient>
type Anchor = RcRef<JsServerCommunicationConfigClient>
RefFromWasmAbi::Anchor§unsafe fn long_ref_from_abi(
js: <JsServerCommunicationConfigClient as LongRefFromWasmAbi>::Abi,
) -> <JsServerCommunicationConfigClient as LongRefFromWasmAbi>::Anchor
unsafe fn long_ref_from_abi( js: <JsServerCommunicationConfigClient as LongRefFromWasmAbi>::Abi, ) -> <JsServerCommunicationConfigClient as LongRefFromWasmAbi>::Anchor
RefFromWasmAbi::ref_from_abi§impl OptionFromWasmAbi for JsServerCommunicationConfigClient
impl OptionFromWasmAbi for JsServerCommunicationConfigClient
§fn is_none(
abi: &<JsServerCommunicationConfigClient as FromWasmAbi>::Abi,
) -> bool
fn is_none( abi: &<JsServerCommunicationConfigClient as FromWasmAbi>::Abi, ) -> bool
None, and otherwise it will be passed to
FromWasmAbi.§impl OptionIntoWasmAbi for JsServerCommunicationConfigClient
impl OptionIntoWasmAbi for JsServerCommunicationConfigClient
§fn none() -> <JsServerCommunicationConfigClient as IntoWasmAbi>::Abi
fn none() -> <JsServerCommunicationConfigClient as IntoWasmAbi>::Abi
None branch of this option. Read more§impl RefFromWasmAbi for JsServerCommunicationConfigClient
impl RefFromWasmAbi for JsServerCommunicationConfigClient
§type Anchor = RcRef<JsServerCommunicationConfigClient>
type Anchor = RcRef<JsServerCommunicationConfigClient>
Self for the duration of the
invocation of the function that has an &Self parameter. This is
required to ensure that the lifetimes don’t persist beyond one function
call, and so that they remain anonymous.§unsafe fn ref_from_abi(
js: <JsServerCommunicationConfigClient as RefFromWasmAbi>::Abi,
) -> <JsServerCommunicationConfigClient as RefFromWasmAbi>::Anchor
unsafe fn ref_from_abi( js: <JsServerCommunicationConfigClient as RefFromWasmAbi>::Abi, ) -> <JsServerCommunicationConfigClient as RefFromWasmAbi>::Anchor
§impl RefMutFromWasmAbi for JsServerCommunicationConfigClient
impl RefMutFromWasmAbi for JsServerCommunicationConfigClient
§type Anchor = RcRefMut<JsServerCommunicationConfigClient>
type Anchor = RcRefMut<JsServerCommunicationConfigClient>
RefFromWasmAbi::Anchor§unsafe fn ref_mut_from_abi(
js: <JsServerCommunicationConfigClient as RefMutFromWasmAbi>::Abi,
) -> <JsServerCommunicationConfigClient as RefMutFromWasmAbi>::Anchor
unsafe fn ref_mut_from_abi( js: <JsServerCommunicationConfigClient as RefMutFromWasmAbi>::Abi, ) -> <JsServerCommunicationConfigClient as RefMutFromWasmAbi>::Anchor
RefFromWasmAbi::ref_from_abi§impl TryFromJsValue for JsServerCommunicationConfigClient
impl TryFromJsValue for JsServerCommunicationConfigClient
§fn try_from_js_value(
value: JsValue,
) -> Result<JsServerCommunicationConfigClient, JsValue>
fn try_from_js_value( value: JsValue, ) -> Result<JsServerCommunicationConfigClient, JsValue>
§fn try_from_js_value_ref(
value: &JsValue,
) -> Option<JsServerCommunicationConfigClient>
fn try_from_js_value_ref( value: &JsValue, ) -> Option<JsServerCommunicationConfigClient>
§impl VectorFromWasmAbi for JsServerCommunicationConfigClient
impl VectorFromWasmAbi for JsServerCommunicationConfigClient
type Abi = <Box<[JsValue]> as FromWasmAbi>::Abi
unsafe fn vector_from_abi( js: <JsServerCommunicationConfigClient as VectorFromWasmAbi>::Abi, ) -> Box<[JsServerCommunicationConfigClient]>
§impl VectorIntoWasmAbi for JsServerCommunicationConfigClient
impl VectorIntoWasmAbi for JsServerCommunicationConfigClient
type Abi = <Box<[JsValue]> as IntoWasmAbi>::Abi
fn vector_into_abi( vector: Box<[JsServerCommunicationConfigClient]>, ) -> <JsServerCommunicationConfigClient as VectorIntoWasmAbi>::Abi
Auto Trait Implementations§
impl Freeze for JsServerCommunicationConfigClient
impl RefUnwindSafe for JsServerCommunicationConfigClient
impl Send for JsServerCommunicationConfigClient
impl Sync for JsServerCommunicationConfigClient
impl Unpin for JsServerCommunicationConfigClient
impl UnsafeUnpin for JsServerCommunicationConfigClient
impl UnwindSafe for JsServerCommunicationConfigClient
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CompatExt for T
impl<T> CompatExt for T
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
Arc<> Read more§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
Source§type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
IntoWasmAbi::AbiSource§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
IntoWasmAbi::into_abi, except that it may throw and never
return in the case of Err.