---
name: "Net::OpenID::Extension::SimpleRegistration"
section: "3pm"
platform: "linux"
package: "libnet-openid-common-perl"
version: "1.20-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Net::OpenID::Extension::SimpleRegistration"
---

# Net::OpenID::Extension::SimpleRegistration(3pm)

Support for the Simple Registration extension (SREG)

## NAME

Net::OpenID::Extension::SimpleRegistration - Support for the Simple Registration extension (SREG)

## VERSION

version 1.20

## SYNOPSIS

In Consumer...

```
    my $sreg_req = $claimed_identity->add_extension_request('Net::OpenID::Extension::SimpleRegistration', (
        required_fields => [qw(nickname email)],
        optional_fields => [qw(country language timezone)],
        policy_url => "http://example.com/policy.html",
    ));
```

Then, in Server, when handling the authentication request...

```
    # FIXME: What object do we have in ::Server that can hold this method?
    my $sreg_req = $something->get_extension_request('Net::OpenID::Extension::SimpleRegistration');
    my $required_fields = $sreg_req->required_fields;
    my $optional_fields = $sreg_req->optional_fields;
    my $policy_url = $sreg_req->policy_url;
```

When Server sends back its response...

```
    # FIXME: Again, what object do we have to hold this method?
    my $sreg_res = $something->add_extension_response('Net::OpenID::Extension::SimpleRegistration', (
        nickname => $nickname,
        email => $email,
    ));
```

And finally, when back in Consumer receiving the response:

```
    my $sreg_res = $verified_identity->get_extension_response('Net::OpenID::Extension::SimpleRegistration');
    my $nickname = $sreg_res->nickname;
    my $email = $sreg_res->email;
    my $country = $sreg_res->country;
    my $language = $sreg_res->language;
    my $timezone = $sreg_res->timezone;
```
