mirror of
https://github.com/elyby/accounts.git
synced 2025-05-31 14:11:46 +05:30
Introduce an API endpoint to obtain public keys, that can be used to verify access tokens on other services
This commit is contained in:
35
api/controllers/PublicKeysController.php
Normal file
35
api/controllers/PublicKeysController.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace api\controllers;
|
||||
|
||||
use api\filters\NginxCache;
|
||||
use Yii;
|
||||
use yii\helpers\ArrayHelper;
|
||||
use yii\web\Controller as BaseController;
|
||||
|
||||
final class PublicKeysController extends BaseController {
|
||||
|
||||
public function behaviors(): array {
|
||||
return ArrayHelper::merge(parent::behaviors(), [
|
||||
'nginxCache' => [
|
||||
'class' => NginxCache::class,
|
||||
'rules' => [
|
||||
'index' => 3600, // 1h
|
||||
],
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
public function actionIndex(): array {
|
||||
return [
|
||||
'keys' => [
|
||||
[
|
||||
'alg' => 'ES256', // Hardcoded for awhile since right now there is no way to find used algo
|
||||
'pem' => Yii::$app->tokens->getPublicKey(),
|
||||
],
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user