◆ __construct()
◆ doAuthentication()
ilAuthProviderOpenIdConnect::doAuthentication |
( |
ilAuthStatus |
$status | ) |
|
Definition at line 66 of file class.ilAuthProviderOpenIdConnect.php.
References $claims, Vendor\Package\$e, ilProxySettings\_getInstance(), ilLogLevel\DEBUG, handleUpdate(), initClient(), ILIAS\Repository\lng(), ILIAS\Repository\logger(), ilOpenIdConnectSettings\LOGIN_ENFORCE, ilOpenIdConnectSettings\LOGOUT_SCOPE_GLOBAL, ilSession\set(), ilAuthStatus\setStatus(), ILIAS\Repository\settings(), ilAuthStatus\setTranslatedReason(), and ilAuthStatus\STATUS_AUTHENTICATION_FAILED.
70 $oidc->setRedirectURL(ILIAS_HTTP_PATH .
'/openidconnect.php');
73 if ($proxy->isActive()) {
74 $host = $proxy->getHost();
75 $port = $proxy->getPort();
79 $oidc->setHttpProxy($host);
84 $oidc->getRedirectURL()
87 $oidc->addScope($this->
settings->getAllScopes());
89 $oidc->addAuthParam([
'prompt' =>
'login']);
92 $oidc->authenticate();
95 $claims = $oidc->getVerifiedClaims();
107 $this->
logger->warning($e->getMessage());
108 $this->
logger->warning((
string) $e->getCode());
const LOGOUT_SCOPE_GLOBAL
const STATUS_AUTHENTICATION_FAILED
setStatus(int $a_status)
Set auth status.
handleUpdate(ilAuthStatus $status, $user_info)
setTranslatedReason(string $a_reason)
Set translated reason.
static set(string $a_var, $a_val)
Set a value.
◆ handleLogout()
ilAuthProviderOpenIdConnect::handleLogout |
( |
| ) |
|
◆ handleUpdate()
ilAuthProviderOpenIdConnect::handleUpdate |
( |
ilAuthStatus |
$status, |
|
|
|
$user_info |
|
) |
| |
|
private |
- Parameters
-
Definition at line 118 of file class.ilAuthProviderOpenIdConnect.php.
References ilAuthProvider\$status, ilAuthProvider\$user_id, ilObjUser\_checkExternalAuthAccount(), ilOpenIdConnectUserSync\AUTH_MODE, ilAuthUtils\AUTH_OPENID_CONNECT, ilLogLevel\ERROR, ILIAS\Repository\logger(), ilSession\set(), ilAuthStatus\setReason(), ilAuthStatus\setStatus(), ILIAS\Repository\settings(), ilAuthStatus\STATUS_AUTHENTICATED, and ilAuthStatus\STATUS_AUTHENTICATION_FAILED.
Referenced by doAuthentication().
120 if (!is_object($user_info)) {
121 $this->
logger->error(
'Received invalid user credentials: ');
128 $uid_field = $this->
settings->getUidField();
129 $ext_account = $user_info->{$uid_field} ??
'';
131 if (!is_string($ext_account) || $ext_account ===
'') {
132 $this->
logger->error(
'Could not determine valid external account, value is empty or not a string.');
139 $this->
logger->debug(
'Authenticated external account: ' . $ext_account);
148 $sync->setExternalAccount($ext_account);
149 $sync->setInternalAccount((
string) $int_account);
const AUTH_OPENID_CONNECT
const STATUS_AUTHENTICATION_FAILED
static _checkExternalAuthAccount(string $a_auth, string $a_account, bool $tryFallback=true)
check whether external account and authentication method matches with a user
setStatus(int $a_status)
Set auth status.
const STATUS_AUTHENTICATED
setReason(string $a_reason)
Set reason.
setAuthenticatedUserId(int $a_id)
Auth status implementation.
static set(string $a_var, $a_val)
Set a value.
◆ initClient()
ilAuthProviderOpenIdConnect::initClient |
( |
| ) |
|
|
private |
◆ $lng
readonly ilLanguage ilAuthProviderOpenIdConnect::$lng |
|
private |
◆ $logger
readonly ilLogger ilAuthProviderOpenIdConnect::$logger |
|
private |
◆ $settings
◆ OIDC_AUTH_IDTOKEN
const ilAuthProviderOpenIdConnect::OIDC_AUTH_IDTOKEN = 'oidc_auth_idtoken' |
|
private |
The documentation for this class was generated from the following file: