IT袋

当前位置:主页 > 对比评测 >

API密钥与令牌有什么区别

API密钥与令牌有什么区别? API密钥和令牌的区别是什么?(2)

时间:2024-03-19 16:51:53 来源:IT袋 作者:马勇
导读:API密钥与令牌有什么区别,API 密钥 — 用于服务器到服务器的通信,访问公共数据(如天气API),与第三方系统集成。 令牌— 用于用户身份验证、细粒度访问控制 (FGAC)、授予对

API密钥与令牌有什么区别

  • API 密钥 — 用于服务器到服务器的通信,访问公共数据(如天气API),与第三方系统集成。
  • 令牌— 用于用户身份验证、细粒度访问控制 (FGAC)、授予对资源的临时访问权限、浏览器访问权限和管理用户会话。

例子

现在我们了解了两者之间的区别,让我们看两个使用 Momento JavaScript SDK 的实际示例。

API密钥

我确实说过,API密钥通常是通过用户界面颁发的。考虑到这一点,我没有代码示例可以共享。

但是,以下是您作为用户通过 Momento 控制台获取 API 密钥的方法。

API密钥与令牌有什么区别

您将选择所需的权限,设置可选的到期日期,然后生成。然后,您可以立即在工作流中使用 API 密钥。

令 牌

与此形成鲜明对比的是,成功登录时颁发的基于用户的一次性令牌。

我们可以举一个基于角色的示例,该用户对 calendar-events 缓存具有只读访问权限,但发布和订阅对主题的访问权限以进行协作。

// 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 密钥和令牌各有利弊。一个并不比另一个好。与计算机科学中的所有事情一样,这取决于您的用例。在决定要实现哪种身份验证机制时,请考虑用户将如何与应用程序交互。

是网络上基于用户的会话吗?使用令牌。也许你期望仅以编程方式访问,而无需确定可用数据的范围。使用 API 密钥。请随时将我们的参考表保存在顶部,以便快速参考。

无论您采取哪种方式,请记住确保您的数据安全。

以上就是IT袋网带来的API密钥与令牌有什么区别?的技术经验小知识,以上内容供大家学习了解!

相关阅读

  • 摩飞恒温电热水壶MR6070评测 摩飞恒温电热水壶MR6070怎么样

    摩飞恒温电热水壶MR6070评测 摩飞恒温电热水壶MR6070怎么样

    随着经济发展和生活水平的不断提高,人们尤其是年轻消费者越来越注重生活质量,秋分过后的天气越来越转凉,而秋季也特别容易干燥,作为女生,还是要多喝热水来的暖心暖胃。可是对于

  • 编码 Encoding 加密 Encryption和令牌化 Tokenization的区别

    编码 Encoding 加密 Encryption和令牌化 Tokenization的区别

    今日重点为您介绍的电脑方面的小经验,请看下面详细的介绍。 今天来聊聊编码 (Encoding), 加密 (Encryption) 和 令牌化 (Tokenization) 的区别。 编码、加密和标记化是三种不同的流程,它们以不同的

  • 魅族m8固件哪个好 魅族pro6历史固件版本

    魅族m8固件哪个好 魅族pro6历史固件版本

    文章摘要:魅族m8固件哪个好和魅族pro6历史固件版本方面的内容,一起跟随小编看看吧! 在学生时代,自己从魅族MP3一路用过来,后来泡论坛成为了黄章的脑残粉,因此成为了第一批魅族M8的

  • 手机格式化和恢复出厂设置有什么区别

    手机格式化和恢复出厂设置有什么区别

    小编为你讲解手机格式化和恢复出厂设置有什么区别的生活小知识,具体介绍如下: 手机是现代人生活的必需品,而在使用手机过程中,我们可能会遇到各种小问题,比如手机发热,卡顿,应