public function JwtTranscoder::__construct in JSON Web Token Authentication (JWT) 8
Same name and namespace in other branches
- 8.0 src/Transcoder/JwtTranscoder.php \Drupal\jwt\Transcoder\JwtTranscoder::__construct()
Constructs a new JwtTranscoder.
Parameters
\Firebase\JWT\JWT $php_jwt: The JWT library object.
Drupal\Core\Config\ConfigFactoryInterface $configFactory: Drupal config factory to retrieve the configuration information.
Drupal\key\KeyRepositoryInterface $key_repo: The Key repository to retrieve the key.
File
- src/
Transcoder/ JwtTranscoder.php, line 100
Class
- JwtTranscoder
- Class JwtTranscoder.
Namespace
Drupal\jwt\TranscoderCode
public function __construct(JWT $php_jwt, ConfigFactoryInterface $configFactory, KeyRepositoryInterface $key_repo) {
$this->transcoder = $php_jwt;
$key_id = $configFactory
->get('jwt.config')
->get('key_id');
$this
->setAlgorithm($configFactory
->get('jwt.config')
->get('algorithm'));
if (isset($key_id)) {
$key = $key_repo
->getKey($key_id);
if (!is_null($key)) {
$key_value = $key
->getKeyValue();
if ($this->algorithmType == 'jwt_hs') {
// Symmetric algorithm so we set the secret.
$this
->setSecret($key_value);
}
elseif ($this->algorithmType == 'jwt_rs') {
// Asymmetric algorithm so we set the private key if possible.
if (strpos($key_value, '-----BEGIN PUBLIC KEY-----') !== FALSE) {
$this
->setPublicKey($key_value);
}
else {
$this
->setPrivateKey($key_value);
}
}
}
}
}