This commit is contained in:
71 files changed
+7241
No files matched your search
@@ -0,0 +1,19 @@
|
||||
<?php namespace SokoWeb\Util;
|
||||
|
||||
use SokoWeb\Http\Request;
|
||||
|
||||
class CaptchaValidator
|
||||
{
|
||||
public function validate(string $response)
|
||||
{
|
||||
$request = new Request('https://www.google.com/recaptcha/api/siteverify', Request::HTTP_GET);
|
||||
$request->setQuery([
|
||||
'secret' => $_ENV['RECAPTCHA_SECRET'],
|
||||
'response' => $response
|
||||
]);
|
||||
|
||||
$response = $request->send();
|
||||
|
||||
return json_decode($response->getBody(), true);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php namespace SokoWeb\Util;
|
||||
|
||||
class JwtParser
|
||||
{
|
||||
private array $token;
|
||||
|
||||
public function __construct(?string $token = null)
|
||||
{
|
||||
if ($token !== null) {
|
||||
$this->setToken($token);
|
||||
}
|
||||
}
|
||||
|
||||
public function setToken(string $token): void
|
||||
{
|
||||
$this->token = explode('.', str_replace(['_', '-'], ['/', '+'], $token));
|
||||
}
|
||||
|
||||
public function getHeader(): array
|
||||
{
|
||||
return json_decode(base64_decode($this->token[0]), true);
|
||||
}
|
||||
|
||||
public function getPayload(): array
|
||||
{
|
||||
return json_decode(base64_decode($this->token[1]), true);
|
||||
}
|
||||
|
||||
public function getSignature(): string
|
||||
{
|
||||
return base64_decode($this->token[2]);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user