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
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/.