• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/web/jwt.php
  • Класс: BitrixMainWebJWT
  • Вызов: JWT::encode
static function encode($payload, $key, $alg = 'HS256', $keyId = null, $head = null)
{
	$header = array('typ' => 'JWT', 'alg' => $alg);
	if ($keyId !== null) {
		$header['kid'] = $keyId;
	}
	if (isset($head) && is_array($head)) {
		$header = array_merge($head, $header);
	}
	$segments = array();
	$segments[] = static::urlsafeB64Encode(static::jsonEncode($header));
	$segments[] = static::urlsafeB64Encode(static::jsonEncode($payload));
	$signing_input = implode('.', $segments);

	$signature = static::sign($signing_input, $key, $alg);
	$segments[] = static::urlsafeB64Encode($signature);

	return implode('.', $segments);
}