Git Product home page Git Product logo

expo-apple-2fa's Introduction

expo-apple-2fa

integration tests

A Github Action which wires serivces together to allow Expo to publish iOS builds, especially with Apple two-factor authentication enabled

Usage

  1. Generate an app-specific password. Unfortunately, some pieces of Fastlane use this, but others use the standard Apple ID password.

  2. Use Github Secrets to store at least:

    • Your Apple password (EXPO_APPLE_PASSWORD)
    • Your app-specific password (EXPO_APP_SPECIFIC_PASSWORD)

    It's up to you if you want to store your phone number or Apple ID itself in the secrets.

  3. Create a workflow file in your repository.

    publish:
      runs-on: macos-latest  # REQUIRED.
      steps:
        - uses: jakemwood/expo-apple-2fa@main
          with:
            expo_apple_id: "[email protected]"
            expo_apple_password: ${{ secrets.EXPO_APPLE_PASSWORD }}
            app_specific_password: ${{ secrets.EXPO_APP_SPECIFIC_PASSWORD }}
            tfa_phone_number: "+1 (800) 555-1234"
    

    NOTE: the format of the tfa_phone_number must match exactly what is offered to you by the Expo client / Fastlane when choosing how to receive your 2FA code.

How it works

Once the action runs, it will provide you with a link to an ngrok tunnel where you can enter your 2FA code once you receive it. You have two choices:

  1. Use the provided web interface

  2. Send a POST request to the tunnel with a JSON body:

    {"code": "123456"}
    

Alternatives?

If there are, I'd love to hear about them and abandon this project.

License

MIT

expo-apple-2fa's People

Contributors

astronomyf avatar jakemwood avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.