pub(super) struct MacSigner {
session_id: String,
salt: [u8; 32],
request_id: AtomicU32,
}Expand description
Signs requests with the per-session MAC header, bumping the request id on each signature.
Fields§
§session_id: String§salt: [u8; 32]§request_id: AtomicU32Implementations§
Source§impl MacSigner
impl MacSigner
Sourcepub(super) fn new(session_key: &AesKey) -> MacSigner
pub(super) fn new(session_key: &AesKey) -> MacSigner
Creates a signer from the session key, starting from a random request id.
fn with_request_id(session_key: &AesKey, request_id: u32) -> MacSigner
Sourcepub(super) fn sign(
&self,
url: &str,
method: &str,
) -> Result<String, OnePasswordError>
pub(super) fn sign( &self, url: &str, method: &str, ) -> Result<String, OnePasswordError>
Returns the X-AgileBits-MAC header value for a request and takes the next request id.
The id only has to differ between requests, so nothing needs ordering against other threads.
Sourcefn calculate_auth_message(
&self,
url: &str,
method: &str,
request_id: u32,
) -> Result<String, OnePasswordError>
fn calculate_auth_message( &self, url: &str, method: &str, request_id: u32, ) -> Result<String, OnePasswordError>
sessionId|METHOD|host/path?query|v1|requestId.
Auto Trait Implementations§
impl !Freeze for MacSigner
impl RefUnwindSafe for MacSigner
impl Send for MacSigner
impl Sync for MacSigner
impl Unpin for MacSigner
impl UnsafeUnpin for MacSigner
impl UnwindSafe for MacSigner
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§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
Create a new handle for an Arc value Read more
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
Clone a handle Read more
§unsafe fn consume_handle(handle: Handle) -> Arc<T> ⓘ
unsafe fn consume_handle(handle: Handle) -> Arc<T> ⓘ
Consume a handle, getting back the initial
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> ⓘ
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> ⓘ
Converts
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> ⓘ
Converts
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