corrivate/magento2-rest-api-logger

高级便捷的日志记录

v1.1.1 2024-09-25 06:23 UTC

This package is auto-updated.

Last update: 2024-09-25 06:24:37 UTC


README

Latest Version on Packagist MIT Licensed

目标

获取 Magento REST API 使用情况的日志可见性

  • 哪些请求被发起,由哪个 IP 地址和用户代理发起,到哪些端点?
  • 这些请求中包含什么内容?
  • 它们获得了什么响应?

在 HYPR,我们发现这非常有用,因为您经常会遇到以下问题:

  • 哪个外部集成与这个产品的数据交互了?
  • 第三方仓库声称将产品数量设置为 X,但显示为 Y。他们真的设置为 X 吗?
  • 产品图片角色配置得非常奇怪。是否有人在通过 API 更新它们时使用了错误的商店代码?

重要!

日志使用不当可能会泄露安全和个人敏感数据。

此模块是调试 API 问题的“强力工具”,不可能完全防止这种情况。小心记录什么内容是您的责任。将此模块设置为“始终开启”不是一个好主意。

该模块有几个过滤器,允许您缩小您要记录的范围。

安装

composer require corrivate/magento2-rest-api-logger
bin/magento module:enable Corrivate_RestApiLogger
bin/magento setup:di:compile

配置

此模块的大部分功能都在配置中。这是您决定要记录哪些类型请求的地方。

您可以在管理员 > 商店 > 配置 > 服务 > REST API 日志记录中配置记录器。

以下配置可用

  • 启用/禁用日志记录
  • 启用/禁用安全模式(这会屏蔽一些隐私敏感的有效负载)
  • 包括请求/响应头
  • 设置过滤器

配置要筛选的内容

  • HTTP 方法(GET、POST、PUT、DELETE)
  • API 端点(https://developer.adobe.com/commerce/webapi/rest/quick-reference/)
  • 路由:可用于查询字符串参数,或者如果您想记录与产品相关的所有端点
  • 请求者的 IP 地址
  • 请求者的用户代理
  • 请求体中的文本
  • 响应的 HTTP 状态码
  • 响应体中的文本

配置匹配过滤器时的后果

  • 禁止记录此请求/响应/两者。如果此过滤器匹配,则覆盖所有其他过滤器。
  • 要求此特定过滤器匹配,否则不记录请求/响应/两者。如果指定了“要求”过滤器,则所有这些都必须匹配才能记录此内容。
  • 允许如果过滤器匹配,则记录此内容。如果配置了任何“允许”过滤器,则至少有一个必须匹配,但不必全部匹配。
  • 屏蔽请求/响应/两者的内容,但记录它已发生以及有关发送者、响应代码等信息。
  • 每当过滤器匹配时,您还可以添加 标签。例如,用于标记来自特定 IP 地址的所有请求,以便您知道它来自公司 X。它们也可以用于以后的日志后处理。

安全性

模块不会记录传入身份验证请求的正文。如果记录了头,凭据将被哈希化。

当配置中启用“安全模式”时,将应用以下额外的过滤器以降低记录敏感数据的风险

  • 禁用头部日志记录。
  • 请求体包含“街道”=> 隐藏两者
  • 响应体包含“街道”=> 隐藏响应
  • 包含这些部分的请求URL => 隐藏两者
    • /V1/applepay
    • /V1/braintree
    • /V1/carts
    • /V1/creditmemo
    • /V1/customers
    • /V1/guest-carts
    • /V1/inventory/get-latlng-from-address
    • /V1/inventory/get-latslngs-from-address
    • /V1/invoices
    • /V1/orders
    • /V1/shipment
    • /V1/tfa

信用额

HYPR

此模块最初由HYPR创建。在他们的许可下,该模块已被开源并进一步开发。

该模块的设计建立在以前的记录器基础上,特别是https://github.com/vladflonta/magento2-webapi-log;然而,该模块似乎不再得到积极支持。

Corrivate

(en.wiktionary.org)

词源

来自拉丁语corrivatus,是corrivare(“使...流动”)的过去分词。

动词

corrivate第三人称单数现在时 corrivates现在分词 corrivating简单过去时和过去分词 corrivated

已废弃)使从几个溪流中抽取的水汇流。