LaunchDarkly のドキュメントは、このツールを使用するために必要なさまざまなキーについて少し混乱しています。
SDK キー
はclientSideID
SDK キー (クライアント側) です。LaunchDarkly Web インターフェイスから取得できます。プロジェクト内の環境全体で同じなので、React SDK や JS SDK を使えばどのクライアントでも同じになります。
取得するには、 に移動しapp.launchdarkly.com/YOUR_PROJECT
、右上隅にある検索アイコンをクリックします。ボタン付きのプロンプトが表示されます。ボタンをクリックする必要がありますCopy SDK key for the current development
=> Client-side ID
。dev
環境と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 のドキュメントに記載されています。そのためにさまざまな戦略を使用できます。匿名ユーザーを管理する最も簡単な方法は、ユーザー キーを送信しないことです。