首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >马根托。发布oauth_problem=Signature+method+HMAC-SHA1+is+not+supported OAuth

马根托。发布oauth_problem=Signature+method+HMAC-SHA1+is+not+supported OAuth
EN

Stack Overflow用户
提问于 2022-05-26 19:47:44
回答 1查看 545关注 0票数 1

我和Magento有意见。一切都进行得很好(我什么也不改变),但现在OAuth部件出了问题。

我在消息oauth_problem=Signature+method+HMAC-SHA1+is+not+supported的响应statusCode 400上出错了

根据docs https://devdocs.magento.com/guides/v2.4/get-started/authentication/gs-authentication-oauth.html#pre-auth-token

oauth_signature_method用于签名请求的签名方法的名称。必须是值HMAC-SHA1 1

很奇怪

http://54.83.101.160/oauth/token/request 一些信息: URL -> ->

方法->柱

Header ->授权: OAuth OAuth oauth_signature_method=“HMAC-SHA1 1”,oauth_timestamp="1653582260",oauth_version="1.0“

我用的是oauth-1.0a(npm)包

代码:

代码语言:javascript
复制
const OAuth = require('oauth-1.0a');

const OAUTH_METHOD = 'POST';
const OAUTH_SIGNATURE_METHOD = 'HMAC-SHA1';

const OAUTH_REQUEST_HEADERS = (url, consumerKey, consumerSecret) => {
  const oauth = OAuth({
    consumer: {
      key: consumerKey,
      secret: consumerSecret,
    },
    signature_method: OAUTH_SIGNATURE_METHOD,
    hash_function: sha1HashFunction,
  });
  return oauth.toHeader(oauth.authorize({ url, method: OAUTH_METHOD }));
};

const getRequestToken = (host, { consumerKey, consumerSecret }) => {
  const url = `${host}/oauth/token/request`;

  return axios.post(url, {}, {
    headers: OAUTH_REQUEST_HEADERS(url, consumerKey, consumerSecret),
  });
};

帮助

EN

回答 1

Stack Overflow用户

发布于 2022-05-27 10:06:43

我不知道Magento文档的进展情况。我认为他们应该更新它。因此,只需将hmac-sha1 1更改为hma-sha256 https://github.com/request/request/issues/2627即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72397285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档