legacy-knowledge-base
公開されました Jun. 30, 2025

ORA-12899:OpenIDアクセストークンが大きすぎるため

written-by

István Gergely-Tárnoki

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

  • OpenIDアクセストークンにはいくつかのものが格納されていますが、ユーザーがログインしようとすると、トークンのサイズがOPENIDCONNECTSESSIONテーブルの ACCESSTOKENカラムで指定された3000文字の制限を超えるため、ログインに失敗します。

Environment

  • Liferay DXP 7.2+
  • オラクル・データベース

解決策

  • 文字数の制限は、業界標準を考慮して設定された。 例えば、idTokenカラムにはvarchar(3999)のサイズ制限が設定されています。これはLiferayサービスビルダのvarcharの最大サイズだからです。 サイズが3999を超えると、テキストまたはブロブ型になり、エントリーの検索が遅くなる。
  • 制限は、プロキシ、tomcat、nginxなど、さまざまなHTTPサブシステムがサポートするHTTPヘッダーの関数になる。 仕様で定義された最大サイズはないが、業界の平均サイズは8KBである。 これはヘッダーの合計サイズであることに注意してほしい。 このため、準拠したOIDC(JWT)トークンに格納されているさまざまなフィールド/署名/ハッシュのための余地を残しておく必要があり、平均して約4KBの余白が残る。 トークンのサイズが7KBであれば、それはほぼヘッダー全サイズである。
  • これらのトークンはHTTPヘッダーによってのみサイズが制限され、OAuthとOIDCの仕様はサイズを規制しない。 OIDCトークンはHTTPヘッダーを使って共有されるため、インフラがそのサイズをサポートできることを保証する必要がある。
  • したがって、これはLiferay側からの必要な制限であり、3KBの制限を作るためにトークン・サイズを小さくすることをお勧めします。
did-this-article-resolve-your-issue

legacy-knowledge-base