Net::Op...Message(3)
π NAME π
okay bestie, welcome to the Net::Op...Message(3) manpage π β this one's all about Net::OpenID::IndirectMessage, a class representing a collection of namespaced arguments. literally what it says on the tin π
β¨ VERSION β¨
version 1.20 πΈ
π¦ DESCRIPTION π¦
okay so this class is basically an abstraction layer over a collection of flat URL arguments, and it supports namespaces as defined by the OpenID Auth 2.0 specification. no cap, that's the whole vibe β¨
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. periodt π
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 β returns a value and, if given no arguments, returns a list of all keys present. iconic flexibility tbh π¦
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. so yes bestie, read the room and pass the right args π
π 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. iykyk π«
π METHODS π
π₯ protocol_version π₯
Currently returns 1 or 2, according as this is an OpenID 1.0/1.1 or an OpenID 2.0 message. slay β¨
π has_ext π
Takes an extension namespace and returns true if the named extension is used in this message. cute and simple π«Ά
π get_ext π
Takes an extension namespace and an optional parameter name, returns the parameter value, or if no parameter given, the parameter value. yes bestie, that's the wording β parameter value either way ππ
that's the whole page, bestie π«Ά source/version: perl v5.42.0; date: 2016-02-13; manual: Net::Op...Message(3). mwah π
π¦ where this page comes from
- opensuse-leap 16.0: perl-Net-OpenID-Common 1.20-bp160.1.4 Β· Artistic-1.0 or GPL-1.0+
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms