我正在使用LaunchDarkly进行功能标志管理,我不知道从哪里获取当前用户的密钥。下面是他们的React的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的区别是什么?
发布于 2022-02-18 12:32:30
LaunchDarkly文档在使用此工具所需的各种键上有点混乱。
SDK键
clientSideID是SDK键(客户端)。您可以从LaunchDarkly web界面获得它。项目中的整个环境都是一样的,所以如果使用React或JS,那么对于每个客户端来说都是一样的。
要获得它,请转到app.launchdarkly.com/YOUR_PROJECT,单击右上角的搜索图标。您将看到带有按钮的提示符。您需要单击Copy SDK key for the current development => Client-side ID按钮。注意,如果您有dev环境和prod环境,那么它们的键将是不同的。或者,您可以到Account settings -> Projects查看所有SDK键。
接入令牌
如果您不使用SDK,而是使用REST,则需要一个访问令牌。您可以从LaunchDarkly Web接口通过Account settings -> Authorization获得它。您可以拥有多个访问令牌。
用户密钥
用户密钥唯一地标识应用程序的用户。你有责任产生它。根据文件,不可能预先创建LaunchDarkly界面中的用户.相反,当您提供新的用户键时,LaunchDarkly会动态注册用户。
对于应用程序的不同注册用户,用户密钥是不同的。这取决于您如何使用作为用户唯一的键,但您负责将其存储在您的数据库中,并始终为同一用户提供相同的密钥。
当用户登录到中时,您将需要初始化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文档中描述了对任何非活跃用户的跟踪,可以使用不同的策略。管理匿名用户的最简单方法是不发送用户密钥。
https://stackoverflow.com/questions/71173548
复制相似问题