Skip to main content

AuthzFacts

Trait AuthzFacts 

Source
pub trait AuthzFacts:
    Send
    + Sync
    + 'static {
    // Required method
    fn subject(&self) -> &str;

    // Provided methods
    fn has_scope(&self, _scope: &str) -> bool { ... }
    fn has_role(&self, _role: &str) -> bool { ... }
}
Expand description

Visão de autorização sobre a identidade da requisição, apagada de tipo.

Vive no core, e não no crate de autenticação, porque é contrato e não implementação: não toca cripto, não sabe o que é um JWT, e é o que permite que a macro #[authorize] gere código sem depender de qual crate autenticou a requisição.

A implementação de autenticação publica um Arc<dyn AuthzFacts> nas extensions; os guards de autorização leem de lá.

has_scope e has_role têm default false: um tipo de claims que só carrega identidade nega toda autorização em vez de concedê-la por omissão.

Required Methods§

Source

fn subject(&self) -> &str

Identificador do principal — tipicamente a claim sub.

Provided Methods§

Source

fn has_scope(&self, _scope: &str) -> bool

Se o principal possui o escopo informado.

Source

fn has_role(&self, _role: &str) -> bool

Se o principal possui o papel informado.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§