phpman > perldoc > Net::OpenID::IndirectMessage(3pm)

Markdown | JSON | MCP    

NAME
    Net::OpenID::IndirectMessage - Class representing a collection of namespaced arguments

VERSION
    version 1.20

DESCRIPTION
    This class acts as an abstraction layer over a collection of flat URL arguments which supports
    namespaces as defined by the OpenID Auth 2.0 specification.

    It also recognises when it is given OpenID 1.1 non-namespaced arguments and acts as if the
    relevant namespaces were present. In this case, it only supports the basic OpenID 1.1 arguments
    and the extension arguments for Simple Registration.

    This class can operate on a normal hashref, a CGI object or any object with a "param" method
    that behaves similarly (Apache::Request, Apache2::Request, Mojo::Parameters,...), an Apache
    object, a Plack::Request object, or an arbitrary "CODE" ref that when given a key name as its
    first parameter and returns a value and if given no arguments returns a list of all keys
    present.

    If you pass in a hashref or a coderef it is your responsibility as the caller to check the HTTP
    request method and pass in the correct set of arguments. For the other kinds of objects, this
    module will do the right thing automatically.

SYNOPSIS
        use Net::OpenID::IndirectMessage;

        # Pass in something suitable for the underlying flat dictionary.
        # Will return an instance if the request arguments can be understood
        # as a supported OpenID Message format.
        # Will return undef if this doesn't seem to be an OpenID Auth message.
        # Will croak if the $argumenty_thing is not of a suitable type.
        my $args = Net::OpenID::IndirectMessage->new($argumenty_thing);

        # Determine which protocol version the message is using.
        # Currently this can be either 1 for 1.1 or 2 for 2.0.
        # Expect larger numbers for other versions in future.
        # Most callers don't really need to care about this.
        my $version = $args->protocol_version();

        # Get a core argument value ("openid.mode")
        my $mode = $args->get("mode");

        # Get an extension argument value
        my $nickname = $args->get_ext("http://openid.net/extensions/sreg/1.1", "nickname");

        # Get hashref of all arguments in a given namespace
        my $sreg = $args->get_ext("http://openid.net/extensions/sreg/1.1");

    Most of the time callers won't need to use this class directly, but will instead access it
    through a Net::OpenID::Consumer instance.

METHODS
    protocol_version
        Currently returns 1 or 2, according as this is an OpenID 1.0/1.1 or an OpenID 2.0 message.

    has_ext
        Takes an extension namespace and returns true if the named extension is used in this
        message.

    get_ext
        Takes an extension namespace and an optional parameter name, returns the parameter value, or
        if no parameter given, the parameter value.

Generated by phpman v3.7.12 Author: Che Dong Under GNU General Public License
2026-06-13 15:12 @216.73.216.28
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!