KamoCRM

OAuth ステートトークンはサーバー側のレコードで、ブラウザのハンドをバックブロックするわけではありません

FixEmailService
出荷済み
2026年9月23日 2:58 UTC
プロフィール
Kamo
コンテンツ
78c4a87

/api/email/oauth/callback and **************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** プロバイダは、ここのブラウザをKamoセッションなしでリダイレクトするので、`state` は唯一の場所だった 組織は、から来ることができ、それは自己記述ベース64 JSON CALLERビルドされた: {"orgId": 1, "nonce": "...", "provider": "GOOGLE WORKSPACE"}. 誰でも手作業で命名できる 別の org は、独自の認可コードに対してそれを再生します。 "nonce" 内側は生成されたが、何も保存したり、チェックしたりしないので、何も止まらない。 ザ・オブ・ザ・ callback は orgId/provider/memberId をそのデコードから直接信頼し、接続を活性化しました 提供者 どの位 org 状態の名前を付けられた。 OAuthStateStore は、 org/member/provider/ を維持し、 'issue` で不審なトークンを mints します。 トークン自体に決してない10分のTTLでRedisレコードのみに解決します。 `peek` は、それを費やすことなくレコードを読みます (リダイレクト URI とフローを前に選ぶために使用) callback はハンドラにコミットします。`consume` は読み込み、永続的に削除します。そのため、コールバックは シングルユース:再再生または再利用されたトークンは何も解決しません。 存在。 OAuthFlowService と GroupwareOAuthService は、bloob のビルドとデコードに使われています。 独立して、同じメカニズムの独自のコピーでそれぞれ - ミントと償還トークンの両方 この1つのストアでは、ステートトークンの意味を決める場所が正確に1つあります。 OAuthStateStoreTest は、修正なしで失敗します(同じトークンの 2 番目の消費はまだ戻ります null ではなくレコード); OAuthFlowServiceTest, OAuthFlowKindStateTest, GroupwareOAuthServiceTest 新しいメカニズムのために更新されます — それらは直接状態の空白を造り、または解読しません 解読には残らない.

すべての変更

配送を見るのが好きですか?

自分のワークスペースに到着します。 無料プランをスタートし、月に再度このページをお読みください.

永遠に無料で始める料金を見る