Relance Documentation

Introduction

Relance is a web authentication proxy that authenticates requests based on Blockchain data.
It is blockchain-agnostic, very fast, and customizable on demand.

Integration

Relance integrates with your app by sitting between your user's client and your HTTP/S service. A user who wants to access your service must send their request to the Relance authentication proxy first. Relance will then determine if the user's request is authorized, and forward the user request accordingly.
This means your service should not be accessible to the public, but only to the Relance proxy . Otherwise, users could bypass the Relance authentication.
To ensure user requests to your app are protected by Relance, your app's domain records should point to the relance proxy service.

DNS Configuration

Your app needs 2 DNS records to work with Relance:

  • - to Relance's authentication page "auth.relance.dev/<your-id>"
  • - to your relance authentication proxy instance "<your-id>.relance.dev"


In this example, a project named "amazing-llama" using the domain "amazing-llama.com" wants to use Relance.
They have to create 2 DNS records:

auth.amazing-llama.comapp.amazing-llama.comauth.relance.dev/amazing-llamaamazing-llama.relance.devRedirectCNAMEAuthentication pageProtected app pageYour domainsRelance domains

The authentication page will allow your users to generate their secret URLs to your application. The protected app page is the Relance proxy that will authorize requests and forward them to your protected service.

⚠️ Using a CNAME record is recommended for your app domain ⚠️
However this is not always possible, for instance when using your root domain (although some DNS providers do offer workarounds).

Securing your service

Since your service should only be accessible through Relance, your bare service should be protected against unauthenticated requests. As such, your service must be capable of authenticating requests and authorize the requests coming from Relance.

FAQ

  • Does the Relance proxy modify the user's request?

    Relance will only add the headers necessary to authenticate itself to your service. This makes Relance almost transparent to your application.
  • How can my users sign up to Relance?

    Your users do not need to sign up with Relance directly. Instead of authenticating end users with a login, Relance authenticates them with wallet signatures.
    If the user's wallet fulfills the authorization condition you set, their requests will be forwarded to your service. Otherwise, the requests will be stopped.
Got more questions? Ask us directly!