Firebase iOS Distribution Faraday server error 403
Asked Answered
S

2

9

I'm using Circle-Ci and Firebase App Distribution for our Continuous Distribution Every thing was working perfectly until today I'm receiving the below error:

[10:52:11]: --- Step: firebase_app_distribution ---
[10:52:11]: ---------------------------------------
[10:52:11]: Authenticating with FIREBASE_TOKEN environment variable
[10:52:12]: 🔐 Authenticated successfully.
[10:52:12]: ⌛ Uploading the IPA.
[10:52:13]: An error occurred while executing the `error` block:
[10:52:19]: undefined method `error_info' for #<Faraday::ForbiddenError:0x00007fe597865d38>


bundler: failed to load command: fastlane (/Users/distiller/project/vendor/bundle/ruby/2.7.0/bin/fastlane)
Faraday::ForbiddenError: [!] the server responded with status 403
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/faraday-1.3.0/lib/faraday/response/raise_error.rb:20:in `on_complete'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/faraday-1.3.0/lib/faraday/middleware.rb:19:in `block in call'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/faraday-1.3.0/lib/faraday/response.rb:59:in `on_complete'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/faraday-1.3.0/lib/faraday/middleware.rb:18:in `call'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/faraday_middleware-1.0.0/lib/faraday_middleware/response_middleware.rb:36:in `call'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/faraday-1.3.0/lib/faraday/rack_builder.rb:154:in `build_response'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/faraday-1.3.0/lib/faraday/connection.rb:492:in `run_request'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/faraday-1.3.0/lib/faraday/connection.rb:279:in `post'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/fastlane-plugin-firebase_app_distribution-0.2.5/lib/fastlane/plugin/firebase_app_distribution/client/firebase_app_distribution_api_client.rb:123:in `upload_binary'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/fastlane-plugin-firebase_app_distribution-0.2.5/lib/fastlane/plugin/firebase_app_distribution/client/firebase_app_distribution_api_client.rb:153:in `upload'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/fastlane-plugin-firebase_app_distribution-0.2.5/lib/fastlane/plugin/firebase_app_distribution/actions/firebase_app_distribution_action.rb:31:in `run'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/fastlane-2.173.0/fastlane/lib/fastlane/runner.rb:263:in `block (2 levels) in execute_action'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/fastlane-2.173.0/fastlane/lib/fastlane/actions/actions_helper.rb:69:in `execute_action'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/fastlane-2.173.0/fastlane/lib/fastlane/runner.rb:255:in `block in execute_action'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/fastlane-2.173.0/fastlane/lib/fastlane/runner.rb:229:in `chdir'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/fastlane-2.173.0/fastlane/lib/fastlane/runner.rb:229:in `execute_action'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/fastlane-2.173.0/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/fastlane-2.173.0/fastlane/lib/fastlane/fast_file.rb:159:in `method_missing'
  Fastfile:50:in `block (2 levels) in parsing_binding'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/fastlane-2.173.0/fastlane/lib/fastlane/lane.rb:33:in `call'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/fastlane-2.173.0/fastlane/lib/fastlane/runner.rb:49:in `block in execute'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/fastlane-2.173.0/fastlane/lib/fastlane/runner.rb:45:in `chdir'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/fastlane-2.173.0/fastlane/lib/fastlane/runner.rb:45:in `execute'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/fastlane-2.173.0/fastlane/lib/fastlane/lane_manager.rb:47:in `cruise_lane'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/fastlane-2.173.0/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/fastlane-2.173.0/fastlane/lib/fastlane/commands_generator.rb:108:in `block (2 levels) in run'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in `call'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in `run'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in `run_active_command'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/fastlane-2.173.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in `run!'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in `run!'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/fastlane-2.173.0/fastlane/lib/fastlane/commands_generator.rb:352:in `run'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/fastlane-2.173.0/fastlane/lib/fastlane/commands_generator.rb:41:in `start'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/fastlane-2.173.0/fastlane/lib/fastlane/cli_tools_distributor.rb:122:in `take_off'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/gems/fastlane-2.173.0/bin/fastlane:23:in `<top (required)>'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/bin/fastlane:23:in `load'
  /Users/distiller/project/vendor/bundle/ruby/2.7.0/bin/fastlane:23:in `<top (required)>'

Exited with code exit status 1

I tried updating the following:

bundle update fastlane bundle exec fastlane update_plugins

but still the same error.

Semifinal answered 9/2, 2021 at 11:19 Comment(0)
S
6

After lot of searching I was able to find what went wrong:

To summarize: FIREBASE_TOKEN was either expired or revoked so I had to refresh it again, and as Faraday is used by Firebase then it needs to use FIREBASE_TOKEN to upload the API.

I Followed steps from this link:

Generating a CLI Token
Firebase requires a token to used during authentication. To generate the token, we need to use the Firebase CLI and a browser - as CircleCI is a headless environment, we will need to generate this token locally, rather than at runtime, then add it to CircleCI as an environment variable.

Download and install the Firebase CLI locally with the command curl -sL https://firebase.tools | bash Trigger a login by using the command firebase login:ci Complete the sign in via the browser window, then copy the token provided in the Terminal output Go to your project settings in CircleCI and create a new environment variable named FIREBASE_TOKEN with the value of the token.

Semifinal answered 11/2, 2021 at 14:16 Comment(0)
L
7

I hit the same problem just now. And I remembered I changed my firebase user on my local.

Simply re-login with your correct account:

firebase logout

and then

firebase login
Lux answered 18/8, 2021 at 13:23 Comment(1)
This did not help for me =/Mendymene
S
6

After lot of searching I was able to find what went wrong:

To summarize: FIREBASE_TOKEN was either expired or revoked so I had to refresh it again, and as Faraday is used by Firebase then it needs to use FIREBASE_TOKEN to upload the API.

I Followed steps from this link:

Generating a CLI Token
Firebase requires a token to used during authentication. To generate the token, we need to use the Firebase CLI and a browser - as CircleCI is a headless environment, we will need to generate this token locally, rather than at runtime, then add it to CircleCI as an environment variable.

Download and install the Firebase CLI locally with the command curl -sL https://firebase.tools | bash Trigger a login by using the command firebase login:ci Complete the sign in via the browser window, then copy the token provided in the Terminal output Go to your project settings in CircleCI and create a new environment variable named FIREBASE_TOKEN with the value of the token.

Semifinal answered 11/2, 2021 at 14:16 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.