You are here

function openid_connect_extract_sub in OpenID Connect / OAuth client 7

Same name and namespace in other branches
  1. 8 openid_connect.module \openid_connect_extract_sub()

Get the 'sub' property from the user data and/or user claims.

The 'sub' (Subject Identifier) is a unique ID for the external provider to identify the user.

Parameters

array $user_data: The user data as returned from OpenIDConnectClientInterface::decodeIdToken().

array $userinfo: The user claims as returned from OpenIDConnectClientInterface::retrieveUserInfo().

Return value

string|false The sub, or FALSE if there was an error.

2 calls to openid_connect_extract_sub()
openid_connect_complete_authorization in ./openid_connect.module
Complete the authorization after tokens have been retrieved.
openid_connect_connect_current_user in ./openid_connect.module
Connect the current user's account to an external provider.

File

./openid_connect.module, line 764
A pluggable client implementation for the OpenID Connect protocol.

Code

function openid_connect_extract_sub($user_data, $userinfo) {
  if (!isset($user_data['sub']) && !isset($userinfo['sub'])) {
    return FALSE;
  }
  elseif (!isset($user_data['sub'])) {
    return $userinfo['sub'];
  }
  elseif (isset($userinfo['sub']) && $user_data['sub'] != $userinfo['sub']) {
    return FALSE;
  }
  else {
    return $user_data['sub'];
  }
}