| Net-Yadis-Discovery documentation | Contained in the Net-Yadis-Discovery distribution. |
Net::Yadis::Discovery::Protocol::TypeKey - Extension module that add TypeKey API to Net::Yadis::Discovery;
use Net::Yadis::Discovery;
my $disc = Net::Yadis::Discovery->new();
$disc->discover("http://id.example.com/") or Carp::croak($disc->err);
my @openid_xrd = $disc->typekey_servers(['1.0','1.1');
# Argument is Array ref of version numbers, and it's optional.
foreach my $srv (@xrd) { # Loop for Each Service in TypeKey's Yadis Resourse Descriptor
print $srv->Type; # http://www.sixapart.com/typekey/sso/1.0
print $srv->URI; # URI value is no meaning in TypeKey protocol...
print $srv->MemberName; # To get TypeKey Account attribute
}
Add Proposal API interface (http://yadis.org/wiki/Proposed_Yadis_API) to Net::Yadis::Discovery.
Returns the TypeKey accounts as array hashes of Net::Yadis::Object::TypeKey. Optionally accepts a array ref of versions supported by the client as a argument.
Notice: TypeKey has only one login server, so API name typekey_servers seems funny. But this is to give same interface to other protocol.
Net::Yadis::Object::TypeKey's method to get TypeKey account name.
See Net::Yadis::Discovery for author, copyrignt and licensing information.
Yadis website: http://yadis.org/
| Net-Yadis-Discovery documentation | Contained in the Net-Yadis-Discovery distribution. |
package Net::Yadis::Discovery::Protocol::TypeKey; sub import { } package Net::Yadis::Discovery; sub typekey_servers { my $self = shift; # my $ver = defined($_[0]) ? ref($_[0]) eq 'ARRAY' ? $_[0] : \@_ : []; $self->servers('typekey',@_); } sub typekey_regex { 'http://www.sixapart.com/typekey/sso/\ver' } sub typekey_objectclass { 'Net::Yadis::Object::TypeKey' } package Net::Yadis::Object::TypeKey; use base qw(Net::Yadis::Object); sub MemberName { shift->extra_field('MemberName','http://www.sixapart.com/typekey/xmlns/1.0'); } 1; __END__