The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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.