[−][src]Enum oxide_auth::primitives::grant::Value
Wraps the data for an extension as a string with access restrictions.
This is a generic way for extensions to store their data in a universal, encoded form. It is also able to indicate the intended readers for such an extension so that backends can ensure that private extension data is properly encrypted even when present in a self-encoded access token.
Some extensions have semantics where the presence alone is the stored data, so storing data is optional and storing no data is distinct from not attaching any extension instance at all.
Variants
Public(Option<String>)An extension that the token owner is allowed to read and interpret.
Private(Option<String>)Identifies an extenion whose content and/or existance MUST be kept secret.
Methods
impl Value[src]
pub fn public(content: Option<String>) -> Self[src]
Creates an extension whose presence and content can be unveiled by the token holder.
Anyone in possession of the token corresponding to such a grant is potentially able to read the content of a public extension.
pub fn private(content: Option<String>) -> Value[src]
Creates an extension with secret content only visible for the server.
Token issuers should take special care to protect the content and the identifier of such an extension from being interpreted or correlated by the token holder.
pub fn as_public(self) -> Result<Option<String>, ()>[src]
Ensures that the extension stored was created as public, returns Err if it was not.
pub fn as_private(self) -> Result<Option<String>, ()>[src]
Ensures that the extension stored was created as private, returns Err if it was not.
Trait Implementations
impl Clone for Value[src]
fn clone(&self) -> Value[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
impl PartialEq<Value> for Value[src]
impl Eq for Value[src]
impl Debug for Value[src]
Auto Trait Implementations
impl Unpin for Value
impl Send for Value
impl Sync for Value
impl RefUnwindSafe for Value
impl UnwindSafe for Value
Blanket Implementations
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Erased for T
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized, [src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
fn equivalent(&self, key: &K) -> bool[src]
impl<T> Typeable for T where
T: Any,
T: Any,
impl<T> DebugAny for T where
T: Any + Debug,
T: Any + Debug,
impl<T> CloneAny for T where
T: Clone + Any,
T: Clone + Any,
fn clone_any(&self) -> Box<dyn CloneAny + 'static>
fn clone_any_send(&self) -> Box<dyn CloneAny + 'static + Send> where
T: Send,
T: Send,
fn clone_any_sync(&self) -> Box<dyn CloneAny + 'static + Sync> where
T: Sync,
T: Sync,
fn clone_any_send_sync(&self) -> Box<dyn CloneAny + 'static + Sync + Send> where
T: Send + Sync,
T: Send + Sync,
impl<T> UnsafeAny for T where
T: Any,
T: Any,
impl<T> IntoCollection<T> for T
fn into_collection<A>(self) -> SmallVec<A> where
A: Array<Item = T>,
A: Array<Item = T>,
fn mapped<U, F, A>(self, f: F) -> SmallVec<A> where
A: Array<Item = U>,
F: FnMut(T) -> U,
A: Array<Item = U>,
F: FnMut(T) -> U,
impl<T, I> AsResult<T, I> for T where
I: Input,
I: Input,