私は残りのAPIを認証するためにbshaffer/oauth2-server-phpモジュールを使用しています。すべて正常に動作しますが、データベースには20,000を超えるアクセストークンがあります。
私が読んだように、フレームワークは期限切れのトークンを自動的に削除したり、設定パラメータによって削除しません。だから私は自分で仕事をしようとしている。
私はトークンを保持するテーブルを知っており、私はすでにdeleteステートメントを構築しています。しかし、私はクリーンアップのルーチンにフックするための適切な場所(適切なクラス/方法)を見つけることができません。oauth2-server-phpで期限切れのトークンを削除する
0
A
答えて
0
によって破壊されたときに実行されるように__destruct()関数を使用します
$doctrine = $this->getContainer()->get('doctrine');
$entityManager = $doctrine->getEntityManager();
$qb = $entityManager->createQueryBuilder();
$qb->select('t')
->from('OAuth2ServerBundle:AccessToken', 't')
->where('t.expires < :now')
->setParameter('now', new \DateTime(), Type::DATETIME);
$accessTokens = $qb->getQuery()->getResult();
$cleanedTokens = 0;
foreach ($accessTokens as $token) {
$entityManager->remove($token);
$cleanedTokens++;
}
は、これは単なる一例として、access_tokenはテーブルをカバーして:あなたはテーブル名を知っていて、ちょうどそれを時間ごとに実行するので、symfonyはなく、プレーンなPHPコマンドすることができます。私はまだこのライブラリでトークンの有効期限を変更する方法を得ることができませんでしたところで;)
UPDATE:ちょうどparameters.ymlを編集して、アイデアが本当に良いですが、私の中で
oauth2.server.config:
auth_code_lifetime: 30
access_lifetime: 120
refresh_token_lifetime: 432000
0
私は、bshaffer oauthサーバーの完全なソースを読んでいませんでした。
しかし、クラスServerから拡張して独自のクラスを作成することができます。
そして、私はここで良いオプションは、中小規模一部、ここで、コマンドを作成することだと思うオブジェクトcustomServerがPHP
<?php
include('src/OAuth2/Server.php'); # make sure the path is correct.
class customServer extends Server {
public __construct(($storage = array(), array $config = array(), array $grantTypes = array(), array $responseTypes = array(), TokenTypeInterface $tokenType = null, ScopeInterface $scopeUtil = null, ClientAssertionTypeInterface $clientAssertionType = null)) {
parent::_construct($storage, $config, $grantTypes, $responseTypes, $tokenType, $scopeUtil, $clientAssertionType);
}
}
public function __destruct() {
// run your cleanup SQL from here.
}
?>
関連する問題
- 1. Laravelで有効期限が切れたトークンを自動的に削除
- 2. CouchDBで期限切れの文書を削除する
- 3. 期限切れのJWTトークン - トークンをリフレッシュする方法
- 4. IdentityServer - 期限切れのトークンの処理
- 5. 「トークンの有効期限が切れて」
- 6. トークンの期限切れ - JSON REST API - エラーコード
- 7. 期限切れの行から画像を削除する
- 8. Mongoose、期限切れの参照を削除する
- 9. IdentityServer4 - 期限切れの永続性付与を削除する
- 10. CloudFormationで "期限切れのオブジェクト削除マーカー"をサポート
- 11. Web Apiトークン期限切れエラー
- 12. PHP REST APIトークン期限切れフロー
- 13. CloudKitエラー:変更トークンが期限切れ、
- 14. AngularJSで期限切れのjwtトークンをリフレッシュする方法
- 15. Hazelcast - マップから期限切れのセッションを削除します
- 16. トークンが期限切れまたは削除されています4番目のログインポップアップを表示します
- 17. 期限切れのバックエンドからACFフィールドを削除
- 18. フォームのハッシュ(トークン)期限切れを変更するZend Framework
- 19. Vert.X期限切れのJWTトークンを検査する
- 20. opentok phpの期限切れトークンを確認するには?
- 21. Android - Firebaseのユーザー認証トークンは期限切れですか?
- 22. 期限切れのすべてのデータを削除する方法
- 23. TwitterAPI "トークンが無効または期限切れです。"
- 24. ドメインの期限切れ/削除のリストを取得する方法
- 25. Cognitoで期限切れになったOpenIdトークンをリフレッシュ
- 26. 能力トークンの期限切れによるTwilio.Device.offlineのトリガー
- 27. Mojox ::セッションは期限切れですがデータベースから削除されません
- 28. 期限切れのセッション:ランダムに削除する必要がありますか?
- 29. ユーザログイン時に古いJWTトークンを期限切れにします
- 30. Googleコンタクトのトークンは有効期限が切れます
を追加寿命を変更するには私は認証プロセスのためにzend-mvc-authを使っているので、いつでもServerクラスを拡張することができるかどうかわかりません。 – altralaser