iOS Jenkins打包报错401 Authentication credentials are missing or invalid.解决办法

简介: iOS Jenkins打包报错401 Authentication credentials are missing or invalid.解决办法

报错原文:

gen_jwt_s.rb:3:in `initialize': invalid curve name (OpenSSL::PKey::ECError)
    from gen_jwt_s.rb:3:in `new'
    from gen_jwt_s.rb:3:in `<main>'
JWT_TOKEN=
创建cer证书
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: POST
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  1324  100   350  100   974    489   1360 --:--:-- --:--:-- --:--:--  1851
{ "errors": [ { "status": "401", "code": "NOT_AUTHORIZED", "title": "Authentication credentials are missing or invalid.", "detail": "Provide a properly configured and signed bearer token, and make sure that it has not expired. Learn more about Generating Tokens for API Requests [https://developer.apple.com/go/?id=api-generating-tokens](https://developer.apple.com/go/?id=api-generating-tokens)" } ] }</pre>


报错分析:


可以看出是请求https://developer.apple.com/go/?id=api-generating-tokens这个生成token的接口报错了,看报错信息可以看到是生成token的脚本gen_jwt_s.rb里面出现的错误,在脚本的第三行出现的错误

生成token的脚本代码:

require 'jwt'
ecdsa_key = OpenSSL::PKey::EC.new File.read "AuthKey.p8"
ecdsa_key.private? #=>true
payload = {
    "iss": "xxx",
    "exp": Time.now.to_i + 1200,
    "aud": "appstoreconnect-v1"
  }
header = {
    "alg": "ES256",
    "kid": "xxx",
    "typ": "JWT"
  }
token = JWT.encode payload, ecdsa_key, 'ES256',header
#puts "生成Token成功有效时间是20分钟:"
puts token
aFile = File.new("token.txt", "r+")
if aFile
   aFile.syswrite(token)
else
   puts "Unable to open file!"
end


其中第三行代码是:

ecdsa_key = OpenSSL::PKey::EC.new File.read "AuthKey.p8"


可以推测出是读取p8文件时出现错误,检查了一下p8文件,发现我们这边下载p8文件的链接失效了,所以导致了无法读取p8文件。


解决办法:

1.重新上传p8文件到服务器

2.也可能是存放p8文件的服务出了问题,修复即可

目录
相关文章
|
1月前
|
移动开发 前端开发 数据安全/隐私保护
iOS发布证书.p12文件无密码解决办法及导出带密码的新.p12文件方法
iOS发布证书.p12文件无密码解决办法及导出带密码的新.p12文件方法
29 0
|
2月前
|
Linux 数据安全/隐私保护 虚拟化
iOS 打包 IPA 教程
iOS 打包 IPA 教程
|
1月前
|
数据安全/隐私保护 开发者 iOS开发
iOS-打包上架构建版本一直不出现/正在处理/自动消失
iOS-打包上架构建版本一直不出现/正在处理/自动消失
26 0
|
1月前
|
数据安全/隐私保护 iOS开发 开发者
uniapp IOS从打包到上架流程(详细简单) 原创
uniapp IOS从打包到上架流程(详细简单) 原创
17 1
|
1月前
|
移动开发 监控 小程序
mPaaS常见问题之uniapp ios端云打包的配置config文件如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
27 0
|
1月前
|
iOS开发 开发者
【教程】uni-app iOS 打包解决 profile 文件与私钥证书不匹配问题
【教程】uni-app iOS 打包解决 profile 文件与私钥证书不匹配问题
|
1月前
|
jenkins Java 持续交付
详解如何使用Jenkins一键打包部署SpringBoot项目
详解如何使用Jenkins一键打包部署SpringBoot项目
81 0
|
2月前
|
安全 jenkins 持续交付
Jenkins 忘记登录密码解决办法
Jenkins 忘记登录密码解决办法
66 2
|
2月前
|
小程序 Android开发 iOS开发
mPaaS问题之Ios调小程序报错如何解决
mPaaS小程序是阿里巴巴移动平台服务(mPaaS)推出的一种轻量级应用解决方案,旨在帮助开发者快速构建跨平台的小程序应用;本合集将聚焦mPaaS小程序的开发流程、技术架构和最佳实践,以及如何解决开发中遇到的问题,从而助力开发者高效打造和维护小程序应用。
46 0
mPaaS问题之Ios调小程序报错如何解决
|
2月前
|
Web App开发 小程序 Android开发
mPaaS小程序问题之接入iOS后阿里百川初始化报错如何解决
mPaaS小程序是阿里巴巴移动平台服务(mPaaS)推出的一种轻量级应用解决方案,旨在帮助开发者快速构建跨平台的小程序应用;本合集将聚焦mPaaS小程序的开发流程、技术架构和最佳实践,以及如何解决开发中遇到的问题,从而助力开发者高效打造和维护小程序应用。
48 1