Skip to content

require

autogen.beta.a2a.security.require #

require(*schemes)

Build a :class:Requirement from one or more Scheme objects.

All schemes in a single require() call must be presented together (AND). Multiple Requirement entries on a card are OR-ed (any one suffices). Attach OAuth2/OIDC scopes via :meth:Scheme.with_scopes.

Example::

bearer = bearer_scheme(name="bearer")
oauth = oauth2_scheme(name="oauth", flows=...)

require(bearer)  # bearer alone
require(bearer, oauth.with_scopes("read"))  # AND
require(oauth.with_scopes("read", "write"))  # scoped oauth alone
Source code in autogen/beta/a2a/security.py
def require(*schemes: Scheme) -> Requirement:
    """Build a :class:`Requirement` from one or more ``Scheme`` objects.

    All schemes in a single ``require()`` call must be presented together
    (AND). Multiple ``Requirement`` entries on a card are OR-ed (any one
    suffices). Attach OAuth2/OIDC scopes via :meth:`Scheme.with_scopes`.

    Example::

        bearer = bearer_scheme(name="bearer")
        oauth = oauth2_scheme(name="oauth", flows=...)

        require(bearer)  # bearer alone
        require(bearer, oauth.with_scopes("read"))  # AND
        require(oauth.with_scopes("read", "write"))  # scoped oauth alone
    """
    return Requirement(schemes=schemes)