Provided by: libweb-id-perl_1.927-3_all bug

NAME

       Web::ID - implementation of WebID (a.k.a. FOAF+SSL)

SYNOPSIS

        my $webid = Web::ID->new(certificate => $pem_encoded_x509);
        if ($webid->valid)
        {
          say "Authenticated as: ", $webid->uri;
        }

DESCRIPTION

       WebID is a simple authentication protocol based on TLS (Transaction Layer Security, better known as
       Secure Socket Layer, SSL) and the Semantic Web. This module provides a Perl implementation for
       authenticating clients using WebID.

       For more information see the Web::ID::FAQ document.

       Bundled with this module are Plack::Middleware::Auth::WebID, a plugin for Plack to perform WebID
       authentication on HTTPS connections; and Web::ID::Certificate::Generator, a module that allows you to
       generate WebID-enabled certificates that can be installed into web browsers.

   Constructor
       "new"
           Standard Moose-style constructor.

   Attributes
       "certificate"
           A  Web::ID::Certificate object representing and x509 certificate, though a PEM-encoded string will be
           coerced.

           This is usually the only attribute you want to pass to the constructor.  Allow the others to be built
           automatically.

       "first_valid_san"
           Probably fairly uninteresting. This is the first subjectAltName value found in the  certificate  that
           could be successfully authenticated using Web::ID. An Web::ID::SAN object.

       "uri"
           The URI associated with the first valid SAN. A URI object.

           This  is  a  URI  you  can  use  to  identify  the person, organisation or robotic poodle holding the
           certificate.

       "profile"
           Data about the certificate holder. An RDF::Trine::Model object.  Their FOAF file (probably).

       "valid"
           Boolean.

   Methods
       "node"
           Returns the same as "uri", but as an RDF::Trine::Node object.

       "get(@predicates)"
           Queries the "profile" for triples of the form:

             $self->node $predicate $x .

           And returns literal and URI values for $x, as strings.

           $predicate should be an RDF::Trine::Node, or a string.  If  a  string,  it  will  be  expanded  using
           RDF::Trine::NamespaceMap, so you can do stuff like:

             my $name   = $webid->get('foaf:name', 'rdfs:label');
             my @mboxes = $webid->get('foaf:mbox');

BUGS

       Please report any bugs to <http://rt.cpan.org/Dist/Display.html?Queue=Web-ID>.

SEE ALSO

       Web::ID::FAQ.

       Web::ID::Certificate, Plack::Middleware::Auth::WebID.

       RDF::ACL provides an access control system that complements WebID.

       CGI::Auth::FOAF_SSL is the spiritual ancestor of this module though they share very little code, and have
       quite different APIs.

       General        WebID       information:       <http://webid.info/>,       <http://www.w3.org/wiki/WebID>,
       <http://www.w3.org/2005/Incubator/webid/spec/>,
       <http://lists.foaf-project.org/mailman/listinfo/foaf-protocols>.

       Mailing list for general Perl RDF/SemWeb discussion and support: <http://www.perlrdf.org/>.

AUTHOR

       Toby Inkster <tobyink@cpan.org>.

THANKS

       Thanks to Kjetil Kjernsmo (cpan:KJETILK) for persuading me to port my old CGI-specific  implementaton  of
       this to Plack.

       Thanks  Kjetil Kjernsmo (again), Florian Ragwitz (cpan:FLORA), and Jonas Smedegaard for help with testing
       and advice on dependencies.

       Thanks to Henry Story, Melvin Carvalho, Simon Reinhardt, Bruno Harbulot, Ian Jacobi and many  others  for
       developing  WebID  from  a  poorly  thought out idea to a clever, yet simple and practical authentication
       protocol.

       Thanks to Gregory Williams (cpan:GWILLIAMS), Tatsuhiko Miyagawa (cpan:MIYAGAWA) and the Moose  Cabal  for
       providing really good platforms (RDF::Trine, Plack and Moose respectively) to build this on.

COPYRIGHT AND LICENCE

       This software is copyright (c) 2012 by Toby Inkster.

       This  is  free  software;  you  can  redistribute  it and/or modify it under the same terms as the Perl 5
       programming language system itself.

DISCLAIMER OF WARRANTIES

       THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT  ANY  EXPRESS  OR  IMPLIED  WARRANTIES,  INCLUDING,  WITHOUT
       LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

perl v5.32.1                                       2021-09-11                                       Web::ID(3pm)