pub struct Actor { /* private fields */ }Expand description
A verified identity. Nothing constructs one except an Identity implementation.
The privacy of the field is the point: a String from a frame cannot become an Actor by
being assigned to one, so “where did this actor come from” has exactly one answer everywhere it
is asked.
Implementations§
Source§impl Actor
impl Actor
pub fn name(&self) -> &str
Sourcepub fn claims(&self) -> &BTreeMap<Arc<str>, Arc<str>>
pub fn claims(&self) -> &BTreeMap<Arc<str>, Arc<str>>
The claims this identity carries.
D6 asks for “claims → Session capability mapping”, and both halves are here now: these
are the claims crate::oidc verified, and crate::program puts them on the Session
the program sees. They do not reach the log — an envelope carries the actor’s name and
nothing else, because a fold that read a claim would be a fold whose replay depended on
what the issuer was saying at the time
(docs/48 §48.6).
Trait Implementations§
Source§impl Viewer for Actor
An actor is who a view is rendered for and who a command is proposed by.
impl Viewer for Actor
An actor is who a view is rendered for and who a command is proposed by.
The trait is beck_host::program::Viewer and this impl is here rather than beside it, because
what distinguishes an Actor from the other things that can be a viewer is precisely that a
credential was checked — and checking credentials is the host’s job, not the program’s.
impl Eq for Actor
impl StructuralPartialEq for Actor
Auto Trait Implementations§
impl Freeze for Actor
impl RefUnwindSafe for Actor
impl Send for Actor
impl Sync for Actor
impl Unpin for Actor
impl UnwindSafe for Actor
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.