The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

OIDC::Lite::Server::Endpoint::Registration - registration endpoint PSGI application

SYNOPSIS

registration_endpoint.psgi

    use strict;
    use warnings;
    use Plack::Builder;
    use OIDC::Lite::Server::Endpoint::Registration;
    use MyDataHandlerClass;

    builder {
        my $app = OIDC::Lite::Server::Endpoint::Registration->new(
            data_handler => 'MyDataHandlerClass',
        );
        $app->support_types(qw(client_register client_update rotate_secret));
        $app;
    };

DESCRIPTION

The object of this class behaves as PSGI application (subroutine reference). This is for OpenID Connect registration-endpoint.

Reference spec: http://openid.net/specs/openid-connect-registration-1_0-14.html

At first you have to make your custom class inheriting OIDC::Lite::Server::DataHandler, and setup PSGI file with it.

METHODS

new( %params )

data_handler

name of your custom class that inherits OIDC::Lite::Server::DataHandler and implements interface.

error_uri

Optional. URI that represents error description page. This would be included in error responses.

support_grant_type( $type )

support_grant_types( @types )

You can set 'client_register', 'rotate_secret', or 'client_update'

data_handler

psgi_app

compile_psgi_app

handle_request( $req )

TEST

You can test with OAuth::Lite2::Agent::PSGIMock and some of client classes.

    my $app = OIDC::Lite::Server::Endpoint::Registration->new(
        data_handler => 'MyDataHandlerClass',
    );

    my $mock_agent = OAuth::Lite2::Agent::PSGIMock->new(app => $app);
    my $client = OAuth::Lite2::Client::Registration->new(
        registration_endpoint   => q{http://localhost/redirect}
        agent   => $mock_agent,
    );

    my $config = {
        redirect_uris => q{https://example.com/redirect_uri},
        application_name => q{test_app_name},
    };

    my $client_credentials = $client->associate(
        metadata => $config,
    );
    ok($client_credentials);

AUTHOR

Ryo Ito, <ritou.06@gmail.com>

COPYRIGHT AND LICENSE

Copyright (C) 2012 by Ryo Ito

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.