/platform/orgs の非配列応答に対する監視
非配列応答(空体、エラーエンベロープ、または{data: [...]}ラッパー) orgsの状態に着陸し、レンダーを吹き上げる 'e.map は関数ではありません。 Array.isArrayの背後にある状態の更新をゲートします。 {data: [...]}を許容する envelope と、インラインのエラーを inl...
/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 のように見えます。 セキュリティを解決...
Enter-as OTK で /validate を開くので、対象の org セッションが適用されます
/api/validate と呼び出されない /?otk= にリンクされた ENTER; 共有ドメイン *** クッキーは、ソースorgを保存しました。 ミドルウェアを介して/validateに?otk=をリダイレクトする 任意のストレイリンク.
BFFリクエストのOTKからシステムユーザーセッションを解決
SystemUserConfigController と SystemUserCapabilityController は、 メニュー kamo-internal は Cookie なしで X-OTK を転送します。 セッションが見つからず、403を返し、正当なトップレベルの所有者のために。 EnterAsContr...
Enter-asはX-OTK BFF authからセッションを解決します
EnterAsController は読み取り専用です。 session 属性。 JSON から大きい INT8 の ID の文字列として targetOrgId を受け付けます.
POST /api/security/enter-as 用の BFF ルートを追加
/network 404 を収穫する非既存の次行と呼ばれるアクションを入力します。 他のセキュリティプロキシのような APIService へのリクエストを転送します.
プロキシシステムユーザー config API は APIService にルーティングします
設定ページは /api/security/system-user/* ではなく、次のハンドラを呼びません。 存在するので、アプリは404を返す。 Add セキュリティサービスに合ったBFFルート ForwardToApi を使用したエンドポイント(設定、付与、機能).
システムユーザー設定ページ+システムメンバとしてネットワークエンター
プラットフォーム管理 → 設定、親組織の所有者のみを追加します。 プラットフォームを偽装する権限を付与または呼び出すページ 部署、役職、チームメンバーによるシステムユーザー 全3ヶ所に登録(設定ページタイルリスト) SettingsStatusWindow は + サブトピックとページ自体をルートします。 /netw...
バックフィル、入出力、変異ガード、コンフィグAPI
自己healプロビジョニング: SystemUserBackfillService は、すべて実行 SecurityService 起動 (DataLoader から) で is system user カラムを追加 と system user access テーブルが見つからない場合、シングルトンシステムを確保します...
システム ユーザーフラグ + アクセス グラント エンティティティを追加
User.isSystemUser フラグのプラットフォーム全体のシステム ユーザーモデルを導入 (unique 部分的なインデックスはシングルトンを強制します)、および SystemUserAccess テーブル トップレベルの部門、職歴、チームメンバーのレコード システムユーザが子のorgsを入力すると偽装する可能...
TeamMember はメンバーです。 bogus tm.getMember() 呼び出しをドロップします
TeamMember は JOINED の継承を利用しています。メンバーは、ネストされていないメンバーです。 フィールド。 backfill は tm.getMember() と呼ばれていました。 また、JPQLステータスフィルタをtm.teamMembershipStatus(the)に切り替えます。 存在しないtm...
メニュー プリミティブゲッター
isOrganizationOwner はチームメンバーのプリミティブブールなので、Lombok- 生成されたアクセサは isOrganizationOwner() ではなく getIsOrganizationOwner() です。 BillingGroupMemberService と LicenseService ...
電話 + セキュリティ質問ページを削除します
これらは間違いによってkamo内部に追加されました — 携帯電話のコレクション 番号とセキュリティの質問は、登録フローに所属しています kamo-register と、そこに移動しました。 2つの設定ページをドロップします。 accountApi クライアントは、それらだけを提供し、そのエントリを 私のアカウントカード...
電話認証+セキュリティ質問の手順を追加する
パスワードとアカウントの回復と13 +の2つの新しいステップをインサート registrants: 電話番号のステップ(任意、SMSコードと、スキップ可能) 検証)およびセキュリティ要求ステップ(必須、3つの異なる) お問い合わせ Under-13 登録者は引き続き両方をスキップします そして回復のための彼らの種のフレ...
サインアップ時に電話 + セキュリティに関する質問を収集
電話番号とセキュリティ要求のコレクションをセルフサービスに移動 登録フロー(もともと意図していた場所)ではなく ポストサイン設定ページが必要です。 - 新規登録電話サービス:6桁のSMSコードを経由して生成/検証します BulkTextSmsClient、10分TTL、5時間毎のレート制限。 - 登録サービスは現在、...
登録PhoneCode のエンティティティ + リポジトリを追加
新しいテーブル `registration phone codes` は 1 ショットの SMS 認証コードを保存します セルフサービスの登録時に発行される、ユーザのエンティティティが存在する前に。 NULL userId を運ぶことを避けるために、AccountVerificationCode から分離した Kept...
チームメンバーの追加/チームメンバーページの追加
- /account:タブスコープボタンで単一のあいまいボタンを置き換える メンバータブに<Member>を追加し、チームメンバータブに<Team Member>を追加。 各ボタンは、古い壊れた代わりに専用のページを作成するためのルート 会員詳細ビューにフォールスルー。 - 新しい /settings/member/n...
チームメンバーの追加/チームメンバー作成フローの追加
- 新しいメンバーCreateController を公開: ********************* — 年齢、タイムゾーン、部署、役職 * GET ************ — 電子メールまたはユーザー名による存在チェックを無効に * POST /api/security/members/create — 発信者...
Add AgeReqType.allowsUnder13()ヘルパー
チームメンバーを追加/チームメンバーフローを追加してメールコレクションをスキップ 年齢要件が13歳未満のユーザーを許可する組織(ALL AGES) KIDS ONLY、ALL COPPA GRADS.
ビルインググループに関するメンバーの計画と請求の修正
- 会員ページ プラン&ビリングタブは現在、脈動の輝きと整列されます タブバーのStarRateアイコン。 閲覧された会員が閲覧されたときの可視性 署名されたユーザーまたは署名されたユーザーは、orgを所有しています。 コンテンツ分割 サブスクリプション、請求書、支払い情報、管理グループ。 課金グループセレクタのドロッ...
Add EntitlementService + SecurityModel コマース市場
- EntitlementService は、非アクティブ化によるメンバー機能の助成金を計算します BillingGroupLicense プラン機能 + KamoCRM フリーティアベースライン。 キャッシュ Redis のプロジェクションは、EnerId のキーで 15 分。 - EntitlementInvali...
BillingGroups の周りの BillingService を書き換える
Org-level を削除します。 コントローラ、サービス、DTO 導入事例: - BillingGroupController 実装グループ、メンバー、サブスクリプション、ライセンス、 支払方法および/api/billing/groups の下のインボイス。 - BillingGroupService(ライフサイク...
BillingGroup モデルでorgレベルの課金を置き換える
BillingGroup、BillingGroupMember、BillingGroupSubscription、 BillingGroupLicense、BillingGroupPaymentMethod、BillingGroupInvoiceおよび BillingGroupConfig のエンティティティティ(すべ...
KBメディア/articles API プロキシでクエリ文字列の重複を停止する
forwardToApiはブラウザリクエスト検索パラメータを既に追加しています。埋め込み ?query in the path は 2 番目の ? を生成し、上流 URL 解析を破った。 GET /api/kb/media が失敗し、リソースページがエラーを表示します。 より容易な診断のためのKbMediaBrowse...
部門別エンドポイントからチームメンバーのみを返す
インタラクションセンターは、基本メンバーレコードではなく、チームメンバーの行をリストする必要があります.
チームメンバーのみとの交流センター
NavTop Greeting はユーザがいないときにユーザ名に戻ります チーム専用リスト インタラクションセンターのコピーは、チームメンバーのワーディングを使用します.
Org管理者が他のメンバーアカウントページを開くことを可能にします
クライアントリダイレクトガードを継承する**************************** CONFIGURE SYSTEM、EDIT MEMBER ACCESS LEVEL、ALLOW PROMOTING MEMBERS、 組織の所有者、およびプラットフォーム管理者がアクセスするので、完全な管理者はバウンスされ...
インタラクションセンターメンバーラインは、ジョブタイトルを使用する
RBACのロールタイトルをjobTitleで置き換えてください。 チームメンバーのカタログタイトル、ベースメンバーのラベルメンバー パートごとのペイロードのロール フィールドのレコード.
プロフィールとメンバーセキュリティ API でチームメンバーのための expose と persist の jobTitle公式 を公開します
設定とキャッシュバストのロゴ URL の後に ThemeLogo をリロードする
ThemeLogoは、セッションからkamo-logo-full-extを読みます。 config.json をフェッチするので、ロゴフルは誤った拡張機能を使用することが多い フルリロード。 config が適用されるとイベントをディスパッチし、 ThemeLogo でリスニングします。 他のテーマアセットのようなイメ...
ブランチタイプで許可されたアプリのサブスクリプションコンテキストを表示
課金サブスクリプションをロードし、アプリタブのようなメタデータを計画します。 行をグレーアウト デフォルトオンポリシーが有効でないと、インフォアラートが表示されます。 対象サブスクリプション.
サブスクリプションゲートをアプリのルートと機能APIに適用
AppAvailabilityInterceptor は、常に isAppEffectivelyEnabled を使用するので、 FORCE ENABLEDはサブスクリプションを尊重します。 FeatureController のシリアライズが可能 モデルフラグの代わりに同じゲートから、生DBのみ.
ゲートアプリは、サブスクリプションとプラン機能を有効にします
ストライプや取引を解決するために************を追加 サブスクリプションと一致するサブスクリプションプランサービスタイプ名への機能。 AppliedModelEnforcementService では、アクティブなサブスクリプション (または COMP) が必要です。 フルカタログ) FORCE ENABLE...
任意のCOMPサブスクリプションをAppsタブでフルアクセスとして扱います
すべてのorgsのためのPaymentMethod COMP、トップレベルのプラットフォームの所有者だけでなく、 そのため、無料の助成金を持つ子供orgsは、ロック解除可能なトグルを参照してください.
GET /subscriptions/current での取引サブスクリプションを公開
Stripe ミラー行が存在しない場合、org アクティブ コマースの解決 サブスクリプション記録(例えば、COMPの付与)、支払方法および プランの特徴 Fix 無料のプランでアプリの設定をgating.