/network を強制する ルール サーバー側
ターゲットが現在のセッションorgの場合、カスタムドメインSSLは拒否されません 確認、またはヒトターゲット会員は非アクティブです。 ドメイン設定を共有する OrgNetworkEnterPolicy 経由でmy-networks とロジック; ロードターゲット org と findByIdWithDomains によ...
宛先メンバーを要求し、orgメンバーシップを検証
Enter-as は、クライアントが提案したターゲットで、常に新しい *** を構築します。 会員の行; 不一致した org/member を拒否します。 セッションデバッグログを改善します.
投稿Auth*** をログインと入力で共有する
ポスト認証を抽出する***ビルド(grant-all拡張、プロファイルSQL、 ブランチのタイトル, createSession) を PostAuth***Service に行なうので、入出力は パスワード検証後にkamo-loginと同じコードパス。 Enter-as は、プロバイダ org id とプロバイダー...
Enter-as セッションは、ターゲット org セキュリティ プロバイダーとオプションの targetMemberId を使用します
Enter-as は、Redis セキュリティOrgId をユーザのグローバルセキュリティ provider から設定しました。 ログイン時に対象のorg FQDNチェーンから設定します。 その不一致はクロスドメインを作った hand-offs はソース/provider org のように見えます。 セキュリティを解決...
BFFリクエストのOTKからシステムユーザーセッションを解決
SystemUserConfigController と SystemUserCapabilityController は、 メニュー kamo-internal は Cookie なしで X-OTK を転送します。 セッションが見つからず、403を返し、正当なトップレベルの所有者のために。 EnterAsContr...
Enter-asはX-OTK BFF authからセッションを解決します
EnterAsController は読み取り専用です。 session 属性。 JSON から大きい INT8 の ID の文字列として targetOrgId を受け付けます.
バックフィル、入出力、変異ガード、コンフィグAPI
自己healプロビジョニング: SystemUserBackfillService は、すべて実行 SecurityService 起動 (DataLoader から) で is system user カラムを追加 と system user access テーブルが見つからない場合、シングルトンシステムを確保します...
サインアップ時に電話 + セキュリティに関する質問を収集
電話番号とセキュリティ要求のコレクションをセルフサービスに移動 登録フロー(もともと意図していた場所)ではなく ポストサイン設定ページが必要です。 - 新規登録電話サービス:6桁のSMSコードを経由して生成/検証します BulkTextSmsClient、10分TTL、5時間毎のレート制限。 - 登録サービスは現在、...
チームメンバーの追加/チームメンバー作成フローの追加
- 新しいメンバーCreateController を公開: ********************* — 年齢、タイムゾーン、部署、役職 * GET ************ — 電子メールまたはユーザー名による存在チェックを無効に * POST /api/security/members/create — 発信者...
Add EntitlementService + SecurityModel コマース市場
- EntitlementService は、非アクティブ化によるメンバー機能の助成金を計算します BillingGroupLicense プラン機能 + KamoCRM フリーティアベースライン。 キャッシュ Redis のプロジェクションは、EnerId のキーで 15 分。 - EntitlementInvali...
部門別エンドポイントからチームメンバーのみを返す
インタラクションセンターは、基本メンバーレコードではなく、チームメンバーの行をリストする必要があります.
インタラクションセンターメンバーラインは、ジョブタイトルを使用する
RBACのロールタイトルをjobTitleで置き換えてください。 チームメンバーのカタログタイトル、ベースメンバーのラベルメンバー パートごとのペイロードのロール フィールドのレコード.
プロフィールとメンバーセキュリティ API でチームメンバーのための expose と persist の jobTitle公式 を公開します
サブスクリプションゲートをアプリのルートと機能APIに適用
AppAvailabilityInterceptor は、常に isAppEffectivelyEnabled を使用するので、 FORCE ENABLEDはサブスクリプションを尊重します。 FeatureController のシリアライズが可能 モデルフラグの代わりに同じゲートから、生DBのみ.
デフォルトのテンプレートのコピーを org のプロビジョニング
宛先キーの明示的なソースプレフィックスを使用して、S3フォルダマーカーをスキップします。 テンプレートプレフィックスが空いているので、サイレント部分のコピーが空の場合に高速に失敗します globals.css にアクセスしません.
プラットフォーム管理UI用のTeamMemberオーナーフラグを***に追加
チームメンバーを格納します。メンバーID、isOrganizationOwnerのログインでRedisセッションでログイン そのため、kamo-internal hasPlatformAdminAccess はトップレベルの org オーナーを満たすことができます パス。 会員 team member から IS OR...
必要なDNS CNAMEエイリアスからメールをドロップ
KnownAliases からメールを削除し、検証済み dns と オンボーディング 不要 mail.example.com が必要です。新しいカスタムドメインも自動処理をスキップします。 メールの子エイリアス.
応用モデルの正しいソースを修正し、API のコンプライアンスを正規化
BRANCH TYPE と MASTER のリゾルダーのリゾルダーを使って、 BranchTypeID だけ。 応用モデルのFALSE/TRUE準拠文字を正規化 JSONの設定.
テーマアセットのヘッダの設定とキャッシュのヘッダ
各書き込みのconfig.jsonでテーマRevision(epoch ms)を省略し、Cache-Controlを設定 設定、globals.css、およびサイト。 webmanifest アップロードして、エッジキャッシュが無効になります.
Cleanup の前に globals.css を書く。cleanup async を実行する
再オーダーのprovisionUpdate なので writeConfigFiles (colors, config, manifest) を実行します 背景ファイルクリーンアップの前に。 新鮮な色のためにDBからorgをリロードします。 CleanupExtraBackgrounds を CompletableFt...
コミットされたorg色をMino Globals.cssに適用して下さい
非同期暫定開始時にDBから組織をリロードする writeConfigFiles は PATCH /colors によって保存された色 (Controller スナップショット) を参照します。 屋台はできます)。 Null 安全二次パレット;六角交換マッチ MinIO CSS の 3 および 6 桁の値を引用します。r...
ドメイン API で isDefault として DNS-verified カスタムドメインをマークする
以前は *.kamocrm.com サブドメインがデフォルトでマークされているため、orgs 検証済みのカスタム apex ドメイン (例: kamocrm.com) が常に取得 defaultDomain=null はメールボックスの作成からブロックされました.
ユーザが org オーナー TeamMember のときにブランディングを許可する
テーマのプロビジョニングとロゴ/背景のアップロードのみチェックされた組織。 スタッフ FK;アプリUIは、組織の所有者をTeamMember.isOrganizationOwnerとして扱います, 違います。 両方と認可を合わせ、アップロードの神モードを許可して下さい 仮説のように.
アバター行を削除する前に、ユーザとメンバーのFKをクリア
それがまだアクティブなユーザーアバターやメンバー固有のオーバーライドだったとき、アバターがDB制約に失敗しました。これにより、ユーザーがストールレコードを削除できないMino blobsが壊れました.
Orgフォルダを拭くことなくデフォルトテンプレートをマージ
完全な規定は、コピー前のorgプレフィックスを削除しなくなった。 コピーから public/default は一致するキーだけを上書きします。 org の下の他のオブジェクト フォルダは残ります。 ベーステンプレートのソースは、kamocrm-comからデフォルトに変更されます.
厳格なDNS検証なしでテーマフォルダホストを解決する
テーマのプロビジョニングは、すべてのドメインに対して必須のisDnsVerifiedです。 デフォルト kamocrm.com サブドメインは非同期作業を開始しません (400, STOMP なし). アクティブなドメインに戻り、{alias}.kamocrm.com に移動します.
核心NATSに関するテーマ規定の進捗を公開
JetStream CHAT MESSAGES ストリームはチャット用に構成されています。> のみ、公開 へ******************** 失敗したストリーム検証とUI のこぎり 進行しません。 SupportNotificationService のような Connection.publish を使用します...
Wizard create-org で EmbRecordState.isActive を設定すると、orgs.is active は null ではない
Create-org ボディを CreateOrganization にデシリアライズする 団体JsonIdentityを避けるペイロード 情報障害
Parse create-org JSON なし @RequestBody 避ける 415
コンテンツタイプが見つからない場合、または未サポートのメディアタイプを返します。 @RequestBody で受け付けます。 バイトを読み、 ObjectMapper を代わりに使用 APIService/Nextのプロキシは、コンテンツの交渉の失敗をトリガーできません.
モデルと信頼できるブランチタイプに関するATFコンプライアンスポリシーを公開
- 組織管理者は、年齢の主張の前にモデルの執行を適用します - SecurityModelController と MasterModelController のパスポリシーフィールド - BranchTypeController は /branch-types/creatable のポリシーを含んでいます