NAME

Net::OpenID::VerifiedIdentity - Object representing a verified OpenID identity

VERSION

version 1.18

SYNOPSIS

  use Net::OpenID::Consumer;
  my $csr = Net::OpenID::Consumer->new;
  ....
  my $vident = $csr->verified_identity
    or die $csr->err;

  my $url = $vident->url;

DESCRIPTION

After Net::OpenID::Consumer verifies a user's identity and does the signature checks, it gives you this Net::OpenID::VerifiedIdentity object, from which you can learn more about the user.

METHODS

$vident->url

Returns the URL (as a scalar) that was verified. (Remember, an OpenID is just a URL.)

$vident->display

Returns the a short "display form" of the verified URL using a couple brain-dead patterns. For instance, the identity "http://www.foo.com/~bob/" will map to "bob [foo.com]" The www. prefix is removed, as well as http, and a username is looked for, in either the tilde form, or "/users/USERNAME" or "/members/USERNAME". If the path component is empty or just "/", then the display form is just the hostname, so "http://myblog.com/" is just "myblog.com".

Suggestions for improving this function are welcome, but you'll probably get more satisfying results if you make use of the data returned by the Simple Registration (SREG) extension, which allows the user to choose a preferred nickname to use on your site.

$vident->extension_fields($ns_uri)

Return the fields from the given extension namespace, if any, that were included in the assertion request. The fields are returned in a hashref.

In most cases you'll probably want to use signed_extension_fields instead, to avoid attacks where a man-in-the-middle alters the extension fields in transit.

Note that for OpenID 1.1 transactions only Simple Registration (SREG) 1.1 is supported.

$vident->signed_extension_fields($ns_uri)

The same as extension_fields except that only fields that were signed as part of the assertion are included in the returned hashref. For example, if you included a Simple Registration request in your initial message, you might fetch the results (if any) like this:

    $sreg = $vident->signed_extension_fields(
        'http://openid.net/extensions/sreg/1.1',
    );

An important gotcha to bear in mind is that for OpenID 2.0 responses no extension fields can be considered signed unless the corresponding extension namespace declaration is also signed. If that is not the case, this method will behave as if no extension fields for that URI were signed.

$vident->rss
$vident->atom
$vident->foaf
$vident->declared_rss
$vident->declared_atom
$vident->declared_foaf

Returns the absolute URLs (as scalars) of the user's RSS, Atom, and FOAF XML documents that were also found in their HTML's <head> section. The short versions will only return a URL if they're below the root URL that was verified. If you want to get at the user's declared rss/atom/foaf, even if it's on a different host or parent directory, use the declared_* versions, which don't have the additional checks.

2005-05-24: A future module will take a Net::OpenID::VerifiedIdentity object and create an OpenID profile object so you don't have to manually parse all those documents to get profile information.

$vident->foafmaker

Returns the value of the foaf:maker meta tag, if declared.

COPYRIGHT, WARRANTY, AUTHOR

See Net::OpenID::Consumer for author, copyrignt and licensing information.

SEE ALSO

Net::OpenID::Consumer

Net::OpenID::ClaimedIdentity

Net::OpenID::Server

Website: http://openid.net/