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

NAME

OIDC::Lite::Server::Scope - utility class for OpenID Connect Scope

SYNOPSIS

    use OIDC::Lite::Server::Scope;

    my @scopes = ...

    # if request doesn't inclue 'openid' and include other OIDC scope, return false
    if(OIDC::Lite::Server::Scope->validate_scopes(\@scopes)){
        # valid scopes
    }else{
        # invalid scopes
    }    

    # return OpenID Connect request or not
    if(OIDC::Lite::Server::Scope->is_openid_request(\@scopes)){
        # OpenID Connect Request
        # issue ID Token
    }else{
        # OAuth 2.0 Request
        # don't issue ID Token
    }
    
    # returned normal claims for scopes
    my $claims = OIDC::Lite::Server::Scope->to_normal_claims(\@scopes);

DESCRIPTION

This is utility class for OpenID Connect scope.

METHODS

validate_scopes( $scopes )

If request doesn't inclue 'openid' and include other OIDC scope, return false. 'openid' : true 'not_openid' : true 'openid profile' : true 'profile' : false 'not_openid profile' : false

is_openid_request( $scopes )

Returns the requested scope is for OpenID Connect or not.

is_required_offline_access( $scopes )

Returns the requested scope includes 'offline_access' or not.

to_normal_claims( $req )

Returns normal claims for requested scopes.

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.