API key和token有什么区别?(2)
API key和token有什么区别?
举个例子
现在我们了解了两者之间的区别,让我们看一下使用 Momento JavaScript SDK 的两个实际示例。
API key
上文提到过 API key 通常是在用户界面创建的。考虑到隐私性,我没有可以分享的实际 API key。
不过以下是大家作为用户如何通过 Momento 控制台获取 API 密钥的方法。

大家可以选择所需的权限,设置可选的到期日期,然后点击 Genergate Api Key。
然后我们可以工作流程中使用该 API key。
token
与成功登录时生成的基于用户的一次性 token 进行对比。我们可以采用基于角色的示例,用户可以只读访问日历事件缓存,但可以发布和订阅协作主题的访问权限。
// called on successful login
exports.handler = async (event) => {
const user = await loadUserMetadata(event.userId);
let token;
switch(user.role){
case 'data-entry':
token = await getDataEntryToken(user.tenantId);
break;
case 'admin':
token = await getAdminToken(user.tenantId);
break;
default:
throw new Error('Role not supported');
}
return token;
};
const getDataEntryToken = async (tenantId) => {
const scope = {
permissions: [
{
role: 'readonly',
cache: 'calendar-events',
item: {
keyPrefix: tenantId
}
},
{
role: 'publishsubscribe',
cache: 'collaboration',
topic: `${tenantId}-events`
}
]
};
const response = await authClient.generateDisposableToken(scope, ExpiresIn.minutes(15));
return {
token: response.authToken,
expiresAt: response.expiresAt.epoch()
};
};
以在此处看到,我们创建了一个有效期为 15 分钟的令牌,其权限范围是日历功能的只读权限,并且仅允许访问以用户所属的 tenantId 开头的缓存项。
因此,我们根据用户的属性限制了功能和数据。
总结
API key 和 token 各有优缺点,一个并不比另一个更好。
在决定要应用哪种身份验证机制时,请结合你的应用场景来进行选择。
如果是用在用户会话的身份验证场景时,可以使用 token。
如果是给第三方系统提供接口需要身份验证时,可以使用 API key。
上述就是 和 key和token有什么区别的全部内容,您了解了吗?
相关阅读
-
漫步者×冇心车载麦克风LOLIMIC评测 怎么样
很多用户经常放假就会去KTV唱唱歌,拥有了这款漫步者×冇心车载麦克风LOLIMIC可以在家唱,在车上唱,随身携带,让我们一起来看看吧~ LOLIMIC外包装为方形天地盒设计,整体以白色为底,取出
-
电脑音频剪辑软件哪个好用 免费剪辑音乐的软件推荐
一篇方法教程,与您分享电脑音频剪辑软件哪个好用和免费剪辑音乐的软件推荐的相关话题,一定能解决您的问题的,一起来了解吧! 没有经过系统的学习,在面对音频剪辑,大部分人会犯难
-
双十二电热水器推荐排行榜 电热水器哪款性价比高
很多人还是在使用电热水器,想趁着双十二换一款更节能的热水器。下面为大家带来双十二电热水器推荐排行榜,一起来看看吧~ 海尔电热水器PAD5 海尔电热水器PAD5机身采用扁桶式设计,机身比
-
免费pdf虚拟打印机哪个好 安装pdf虚拟打印机的教程
今天分享:免费pdf虚拟打印机哪个好和安装pdf虚拟打印机的教程的方法内容,相关内容具体如下: 要想高效率的完成PDF文件的打印,至关重要的一点在于打印机的选择,既要被软件支持,又要


