Sha256: afafcbeaf775d9c2eb20e8ac1063b2f1aaa07773fa681a3567b7950c4c72659e

Contents?: true

Size: 1.99 KB

Versions: 320

Compression:

Stored size: 1.99 KB

Contents

require "colored"
require "credentials_manager"
require 'yaml'

module Spaceship
  class SpaceauthRunner
    def initialize(username: nil)
      @username = username
      @username ||= CredentialsManager::AppfileConfig.try_fetch_value(:apple_id)
      @username ||= ask("Username: ")
    end

    def run
      begin
        puts "Logging into to iTunes Connect (#{@username})..."
        Spaceship::Tunes.login(@username)
        puts "Successfully logged in to iTunes Connect".green
        puts ""
      rescue
        puts "Could not login to iTunes Connect".red
        puts "Please check your credentials and try again.".yellow
        puts "This could be an issue with iTunes Connect,".yellow
        puts "Please try unsetting the FASTLANE_SESSION environment variable".yellow
        puts "and re-run `fastlane spaceauth`".yellow
        raise "Problem connecting to iTunes Connect"
      end

      itc_cookie_content = Spaceship::Tunes.client.store_cookie

      # The only value we actually need is the "DES5c148586daa451e55afb017aa62418f91" cookie
      # We're not sure if the key changes
      #
      # Example:
      # name: DES5c148586daa451e55afb017aa62418f91
      # value: HSARMTKNSRVTWFlaF/ek8asaa9lymMA0dN8JQ6pY7B3F5kdqTxJvMT19EVEFX8EQudB/uNwBHOHzaa30KYTU/eCP/UF7vGTgxs6PAnlVWKscWssOVHfP2IKWUPaa4Dn+I6ilA7eAFQsiaaVT
      cookies = YAML.safe_load(
        itc_cookie_content,
        [HTTP::Cookie, Time], # classes whitelist
        [],                   # symbols whitelist
        true                  # allow YAML aliases
      )

      # We remove all the un-needed cookies
      cookies.select! do |cookie|
        cookie.name.start_with?("DES5") || cookie.name == 'dqsid'
      end

      yaml = cookies.to_yaml.gsub("\n", "\\n")

      puts "---"
      puts ""
      puts "Pass the following via the FASTLANE_SESSION environment variable:"
      puts yaml.cyan.underline
      puts ""
      puts ""
      puts "Example:"
      puts "export FASTLANE_SESSION='#{yaml}'".cyan.underline
    end
  end
end

Version data entries

320 entries across 320 versions & 1 rubygems

Version Path
fastlane-2.74.0.beta.20180106010004 spaceship/lib/spaceship/spaceauth_runner.rb
fastlane-2.73.0 spaceship/lib/spaceship/spaceauth_runner.rb
fastlane-2.73.0.beta.20180105010003 spaceship/lib/spaceship/spaceauth_runner.rb
fastlane-2.73.0.beta.20180104010004 spaceship/lib/spaceship/spaceauth_runner.rb
fastlane-2.73.0.beta.20180103010003 spaceship/lib/spaceship/spaceauth_runner.rb
fastlane-2.72.0 spaceship/lib/spaceship/spaceauth_runner.rb
fastlane-2.72.0.beta.20180102010003 spaceship/lib/spaceship/spaceauth_runner.rb
fastlane-2.72.0.beta.20180101010003 spaceship/lib/spaceship/spaceauth_runner.rb
fastlane-2.72.0.beta.20171231010003 spaceship/lib/spaceship/spaceauth_runner.rb
fastlane-2.71.1 spaceship/lib/spaceship/spaceauth_runner.rb
fastlane-2.72.0.beta.20171230010003 spaceship/lib/spaceship/spaceauth_runner.rb
fastlane-2.72.0.beta.20171229010003 spaceship/lib/spaceship/spaceauth_runner.rb
fastlane-2.72.0.beta.20171228010004 spaceship/lib/spaceship/spaceauth_runner.rb
fastlane-2.71.0 spaceship/lib/spaceship/spaceauth_runner.rb
fastlane-2.71.0.beta.20171227010004 spaceship/lib/spaceship/spaceauth_runner.rb
fastlane-2.71.0.beta.20171226010004 spaceship/lib/spaceship/spaceauth_runner.rb
fastlane-2.71.0.beta.20171225010003 spaceship/lib/spaceship/spaceauth_runner.rb
fastlane-2.71.0.beta.20171224010003 spaceship/lib/spaceship/spaceauth_runner.rb
fastlane-2.71.0.beta.20171223010003 spaceship/lib/spaceship/spaceauth_runner.rb
fastlane-2.71.0.beta.20171222010003 spaceship/lib/spaceship/spaceauth_runner.rb