protected function OpenIDConnectLinkedinClient::retrieveUserEmail in OpenID Connect / OAuth client 8
Same name and namespace in other branches
- 2.x src/Plugin/OpenIDConnectClient/OpenIDConnectLinkedinClient.php \Drupal\openid_connect\Plugin\OpenIDConnectClient\OpenIDConnectLinkedinClient::retrieveUserEmail()
Get user email.
Parameters
string $access_token: An access token string.
Return value
string|bool An email or false.
1 call to OpenIDConnectLinkedinClient::retrieveUserEmail()
- OpenIDConnectLinkedinClient::retrieveUserInfo in src/
Plugin/ OpenIDConnectClient/ OpenIDConnectLinkedinClient.php - Retrieves user info: additional user profile data.
File
- src/
Plugin/ OpenIDConnectClient/ OpenIDConnectLinkedinClient.php, line 107
Class
- OpenIDConnectLinkedinClient
- LinkedIn OpenID Connect client.
Namespace
Drupal\openid_connect\Plugin\OpenIDConnectClientCode
protected function retrieveUserEmail($access_token) {
$request_options = [
'headers' => [
'Authorization' => 'Bearer ' . $access_token,
'Accept' => 'application/json',
],
];
$endpoints = $this
->getEndpoints();
try {
$response = $this->httpClient
->get($endpoints['useremail'], $request_options);
$object = json_decode((string) $response
->getBody(), TRUE);
if (isset($object['elements'])) {
foreach ($object['elements'] as $element) {
if (isset($element['handle~']['emailAddress'])) {
// The email address was found.
return $element['handle~']['emailAddress'];
}
}
}
} catch (\Exception $e) {
$variables = [
'@message' => 'Could not retrieve user email information',
'@error_message' => $e
->getMessage(),
];
$this->loggerFactory
->get('openid_connect_' . $this->pluginId)
->error('@message. Details: @error_message', $variables);
}
// No email address was provided.
return FALSE;
}