gpt4 book ai didi

hapijs - hapijs 中的范围和实体有什么区别?

转载 作者:行者123 更新时间:2023-12-03 17:18:22 25 4
gpt4 key购买 nike

我正在查看 hapi 路由的一些身份验证配置选项。我了解范围的工作原理 - 您可以将路由的范围设置为 'admin'这意味着用户的凭据必须具有匹配的范围...但是 entity 的目的是什么? ?

以下是文档:

  • 实体 - 所需的认证实体类型。如果设置,必须匹配
    身份验证凭据的实体值。可用值:
  • 任何 - 身份验证可以代表用户或应用程序。这是默认值。
  • 用户 - 身份验证必须代表用户进行。
  • 应用程序 - 身份验证必须代表应用程序。

  • 当我将实体设置为 'user' 时在路线上,我收到此错误:
    "message": "Application credentials cannot be used on a user endpoint"
    这让我相信我的身份验证插件将我的实体设置为 'app' ?作为引用,我正在使用 hapi-auth-jwt .

    最佳答案

    虽然这是一篇旧帖子,但如果这可以帮助其他人,答案是如果凭据对象包含属性用户,则身份验证被视为代表最终用户。

    在您的情况下,如果凭证对象不包含此类用户属性,则这被视为代表应用程序进行的身份验证,因此访问控制失败。您的 auth.access.entity定义使您的端点成为用户端点,但您的凭据不被视为用户凭据,而是应用程序凭据。

    如果您的凭证对象在另一个属性(例如 sub 或电子邮件)中包含用户的身份,您可能希望将其复制到身份验证插件中的新属性用户中,或者作为您用来配置它的验证功能的一部分。

    关于hapijs - hapijs 中的范围和实体有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28776715/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com