0

機能フラグの管理に LaunchDarkly を使用していますが、現在のユーザーのキーを取得する場所がわかりません。React SDK の LD ドキュメントの例を次に示します。

import { withLDProvider } from 'launchdarkly-react-client-sdk';
export default withLDProvider({
  clientSideID: 'your-client-side-id',
  user: {
    "key": "aa0ceb",
    "name": "Grace Hopper",
    "email": "gracehopper@example.com"
  },
  options: { /* ... */ }
})(YourApp);

どうすれば入手できますkeyか? 鍵と はどう違いclientSideIDますか?

4

1 に答える 1

0

LaunchDarkly のドキュメントは、このツールを使用するために必要なさまざまなキーについて少し混乱しています。

SDK キー

clientSideIDSDK キー (クライアント側) です。LaunchDarkly Web インターフェイスから取得できます。プロジェクト内の環境全体で同じなので、React SDK や JS SDK を使えばどのクライアントでも同じになります。

取得するには、 に移動しapp.launchdarkly.com/YOUR_PROJECT、右上隅にある検索アイコンをクリックします。ボタン付きのプロンプトが表示されます。ボタンをクリックする必要がありますCopy SDK key for the current development=> Client-side IDdev環境とprod環境がある場合、それらのキーは異なることに注意してください。Account settingsまたは、 ->に移動しProjectsて、すべての SDK キーを表示することもできます。

さまざまな種類の SDK キーの詳細を参照してください

アクセストークン

SDK を使用せず、REST API を使用する場合は、アクセス トークンが必要になります。Account settings->に移動して、LaunchDarkly Web インターフェイスから取得できますAuthorization。複数のアクセス トークンを持つことができます。

ユーザー・キー

ユーザー キーは、アプリケーションのユーザーを一意に識別します。あなたはそれを生成する責任があります。ドキュメントによると、 LaunchDarkly インターフェイスでユーザーを事前に作成することはできません。代わりに、LaunchDarkly は、新しいユーザー キーを提供すると、ユーザーを動的に登録します。

ユーザー キーは、アプリケーションの登録ユーザーごとに異なります。ユーザー固有のキーとして何を使用するかはあなた次第ですが、それをデータベースに格納し、常に同じユーザーに同じキーを提供する責任があります。

  • 1 つのオプションは、認証されたユーザーの電子メールを使用することです。ただし、システムでユーザーがメールを変更できる場合は、最適な選択ではない可能性があります。
  • システム内の各ユーザーには、ユーザー ID があります。経年変化せず、唯一無二の存在感があるので長くお使いいただけます。
  • ユーザーの作成時にguid または uuid を生成することにより、ユーザー lauchdarkly キーを作成することもできます。データベースに保存する必要があります。

ユーザーがログインしたら、LaunchDarkly SDK を初期化し、対応するキーを提供する必要があります。

反応する:

import { withLDProvider } from 'launchdarkly-react-client-sdk';
export default withLDProvider({
  clientSideID: 'your-client-side-id',
  user: {
    "key": getCurrentUser().id,
    "name": getCurrentUser().name,
    "email": getCurrentUser().email
  },
  options: { /* ... */ }
})(YourApp);

純粋な JavaScript の場合:

const user = {
    "key": getCurrentUser().id,
    "name": getCurrentUser().name,
    "email": getCurrentUser().email
};
const ldclient = LDClient.initialize('YOUR_CLIENT_SIDE_SDK', user, options = {
  allAttributesPrivate: true
});

これgetCurrentUser()は、アプリケーションの認証済みユーザーの詳細を取得する関数です。

ユーザーがログアウトするときは、そのユーザーのキーが使用できないことを確認してください。匿名ユーザーの追跡については、LaunchDarkly のドキュメントに記載されています。そのためにさまざまな戦略を使用できます。匿名ユーザーを管理する最も簡単な方法は、ユーザー キーを送信しないことです。

于 2022-02-18T12:32:30.173 に答える