NAME
Lemonldap::NG::Portal::Lib::OpenIDConnect - Common OpenIDConnect functions
SYNOPSIS
use Lemonldap::NG::Portal::Lib::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 authorization code
checkTokenResponseValidity
Check validity of Token Response
getUserInfo
Get UserInfo response
decodeJSON
Convert JSON to HashRef
newAuthorizationCode
Generate new Authorization Code session
newAccessToken
Generate new Access Token session
newRefreshToken
Generate new Refresh Token session
getAuthorizationCode
Get existing Authorization Code session
getAccessToken
Get existing Access Token session
getRefreshToken
Get existing Refresh Token session
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
returnBearerError
Return Bearer error
getEndPointAuthenticationCredentials
Get Client ID and Client Secret
getEndPointAccessToken
Get Access Token
getAttributesListFromClaim
Return list of attributes authorized for a claim
buildUserInfoResponseFromId
Return Hash of UserInfo data from session ID
buildUserInfoResponse
Return Hash of UserInfo data from session object
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
addRouteFromConf
Build a Lemonldap::NG::Common::PSGI::Router route from OIDC configuration attribute
validatePKCEChallenge
Validate PKCE code challenge with given code challenge method
SEE ALSO
Lemonldap::NG::Portal::AuthOpenIDConnect, Lemonldap::NG::Portal::UserDBOpenIDConnect
AUTHORS
- LemonLDAP::NG team http://lemonldap-ng.org/team
BUG REPORT
Use OW2 system to report bug or ask for features: https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/issues
DOWNLOAD
Lemonldap::NG is available at http://forge.objectweb.org/project/showfiles.php?group_id=274
COPYRIGHT AND LICENSE
See COPYING file for details.
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/.