Mozilla插件服务器API:“找到重复的附加ID”

时间:2018-02-21 07:45:37

标签: firefox-addon firefox-addon-sdk firefox-webextensions

我尝试编写将我的扩展程序发布到所有商店的脚本,使用Chrome完成但仍然使用Firefox。我被this documentation引导。我可以通过网页上传到Mozilla商店。我知道我可以使用现有的cli,但我不想引入无用的依赖项。 jwt.io显示绿灯。

我的代码:

AMO_JWT_ISSUER=user:132XXXXX:XXX
AMO_SECRET=503084ad4069208a1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
JWT_HEADER_BASE64=`printf %s '{"alg": "HS256", "typ": "JWT"}' | base64`

random() {
    dd if=/dev/urandom bs=20 count=1 2>/dev/null | openssl sha1
}
UNIXTIME=`date +%s`
PAYLOAD_JSON=$(python3 - <<EOF
import json
print(
    json.dumps({
        'iss': "${AMO_JWT_ISSUER}",
        'jti': "$(random)",
        'iat': $UNIXTIME,
        'exp': $(($UNIXTIME+99))
    })
)
EOF
)
JWT_PAYLOAD_BASE64=`printf %s $PAYLOAD_JSON | base64`
FOR_SIGN="$JWT_HEADER_BASE64.$JWT_PAYLOAD_BASE64"
JWT_SIGNATURE_BASE64=`printf %s $FOR_SIGN | openssl dgst -binary -sha256 -hmac $AMO_SECRET | base64`
JWT=$JWT_HEADER_BASE64.$JWT_PAYLOAD_BASE64.$JWT_SIGNATURE_BASE64

curl "https://addons.mozilla.org/api/v3/addons/" \
    --form "upload=@$FIREFOX_FILEPATH_PROD" \
    --form "version=$VERSION" \
    -H "Authorization: JWT $JWT" \
    -v

0 个答案:

没有答案