NAME

Lemonldap::NG::Portal::_OpenIDConnect - Common OpenIDConnect functions

SYNOPSIS

use Lemonldap::NG::Portal::_OpenIDConnect;

DESCRIPTION

This module contains common methods for OpenIDConnect authentication and user information loading

METHODS

loadOPs

Load OpenID Connect Providers and JWKS data

loadRPs

Load OpenID Connect Relying Parties

refreshJWKSdata

Refresh JWKS data if needed

getRP

Get Relying Party corresponding to a Client ID

getCallbackUri

Compute callback URI

buildAuthorizationCodeAuthnRequest

Build Authentication Request URI for Authorization Code Flow

buildAuthorizationCodeAuthnResponse

Build Authentication Response URI for Authorization Code Flow

buildImplicitAuthnResponse

Build Authentication Response URI for Implicit Flow

buildHybridAuthnResponse

Build Authentication Response URI for Hybrid Flow

getAuthorizationCodeAccessToken

Get Token response with autorization code

checkTokenResponseValidity

Check validity of Token Response

getUserInfo

Get UserInfo response

decodeJSON

Convert JSON to HashRef

getOpenIDConnectSession

Try to recover the OpenID Connect session corresponding to id and return session

storeState

Store information in state database and return

extractState

Extract state information into $self

extractJWT

Extract parts of a JWT

verifyJWTSignature

Check signature of a JWT

verifyHash

Check value hash

createHash

Create Hash

returnRedirectError

Create error redirection

returnJSONError

Print JSON error

returnJSON

Print JSON content

returnBearerError

Return Bearer error

getEndPointAuthenticationCredentials

Get Client ID and Client Secret

getEndPointAccessToken

Get Access Token

getAttributesListFromClaim

Return list of attributes authorized for a claim

buildUserInfoResponse

Return Hash of UserInfo data

createJWT

Return JWT

createIDToken

Return ID Token

getFlowType

Return flow type

getIDTokenSub

Return sub field of an ID Token

getJWTJSONData

Return payload of a JWT as Hash ref

key2jwks

Return JWKS representation of a key

buildLogoutRequest

Build Logout Request URI

buildLogoutResponse

Build Logout Response URI

SEE ALSO

Lemonldap::NG::Portal::AuthOpenIDConnect, Lemonldap::NG::Portal::UserDBOpenIDConnect

AUTHOR

Clement Oudot, <clem.oudot@gmail.com>

BUG REPORT

Use OW2 system to report bug or ask for features: http://jira.ow2.org

DOWNLOAD

Lemonldap::NG is available at http://forge.objectweb.org/project/showfiles.php?group_id=274

COPYRIGHT AND LICENSE

This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.