---
name: "Lemonldap::NG::Portal::_OpenIDConnect"
section: "3pm"
platform: "linux"
package: "liblemonldap-ng-portal-perl"
version: "1.9.7-3+deb9u2"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/Lemonldap::NG::Portal::_OpenIDConnect"
---

# Lemonldap::NG::Portal::\_OpenIDConnect(3pm)

Common OpenIDConnect functions

## 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 authorization 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

### returnJSONStatus

Print JSON content

### 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

- Copyright (C) 2014-2016 by Clement Oudot, \<clem.oudot@gmail.com\>

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