Filter by title
Document Options

There are multiple versions of this document. Pick the options that suit you best.

Architecture:

Manual Backend Configuration

When to use this guide: We recommend this fallback when you cannot use the Cloudflare tunnel workflow — for example, on Tiered or Microservice templates (which do not include tunnel.js), when corporate firewalls block cloudflared, or when developing fully offline.

Prefer simpler options first:

  • Browser testing → Running on Web (no backend changes)
  • Pro, non-tiered Monolith on emulator/device → Running on Device with yarn tunnel:api or the MobileEmulator profile

React Native does not trust the auto-generated .NET HTTPS certificate. Use HTTP during this manual workflow.

To disable the HTTPS-only settings of OpenIddict, open the MyProjectNameAuthServerModule project and add the following code block to the PreConfigureServices method:

#if DEBUG
    PreConfigure<OpenIddictServerBuilder>(options =>
    {
        options.UseAspNetCore()
            .DisableTransportSecurityRequirement();
    });
#endif

Important: Before running the backend application, make sure you have completed the database migration if you are starting with a fresh database.

A React Native application running on an Android emulator or a physical phone cannot connect to the backend on localhost. Bind the backend to 0.0.0.0 so it accepts requests from your local network, then update Environment.ts with your local IP address.

  • Open the appsettings.json file in the .DbMigrator folder. Replace the localhost address in the RootUrl property with your local IP address. Then, run the database migrator.
  • Open the appsettings.Development.json file in the .AuthServer folder. Add this configuration to accept global requests for testing the React Native application in the development environment.
    {
      "Kestrel": {
        "Endpoints": {
          "Http": {
            "Url": "http://0.0.0.0:44337"
          }
        }
      }
    }
    
  • Open the appsettings.Development.json file in the .HttpApi.Host folder. Add this configuration to accept global requests. Additionally, configure the authentication server as mentioned above.
    {
      "Kestrel": {
        "Endpoints": {
          "Http": {
            "Url": "http://0.0.0.0:44389" //replace with your host port
          }
        }
      },
      "AuthServer": {
        "Authority": "http://192.168.1.37:44337/", //replace with your IP and authentication port
        "MetaAddress": "http://192.168.1.37:44337/",
        "RequireHttpsMetadata": false,
        "Audience": "MyTieredProject" //replace with your application name
      }
    }
    

Update react-native/Environment.ts with your local IP address, then start Expo as described in Running on Device.

Run the backend application(s) as described in the getting started document.


Contributors


Last updated: June 09, 2026 Edit this page on GitHub

Was this page helpful?

Please make a selection.

To help us improve, please share your reason for the negative feedback in the field below.

Please enter a note.

Thank you for your valuable feedback!

Please note that although we cannot respond to feedback, our team will use your comments to improve the experience.

ABP Community Talks
Low-Code, High Precision
13 Aug, 17:00
Online
Watch the Event
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.