Homepage

[DEPRECATED] Signing In a User Manually

Last edit: Sep 16, 2024

Warning

This article series promotes UserProfiles and Forms, which are deprecated. We decided to reduce the learning curve by promoting explicit implementation via Liquid, Pages and GraphQL, instead of built-in features, which add magic into the mix increasing the learning curve and making debugging harder. Please refer to our Get Started to read up-to date articles, including User Authentication

This guide will help you create an authentication form for users to sign in manually.

Requirements

To follow the steps in this tutorial, you should be familiar with the required directory structure for your codebase, and understand the concept of pages and users.

Steps

Signing in a user manually is a two-step process:

Step 1: Create authentication form

app/forms/sign_in.liquid

---
name: sign_in
resource: Session
fields:
  email:
  password:
---
{% form %}
  <label for="email">Email</label>
  <input name="{{ form.fields.email.name }}" value="{{ form.fields.email.value }}" id="email" type="email">

  <label for="password">Password</label>
  <input name="{{ form.fields.password.name }}" id="password" type="password">
  {% if form.errors.password %}
    <p>{{ form.errors.password }}</p>
  {% endif %}

  <button>Log In</button>
{% endform %}

Step 2: Create sign in page

app/views/pages/sign_in.liquid

---
slug: sign-in
---
<h2>Sign in </h2>
{% include_form 'sign_in' %}
<p>New user? Create <a href="/developer/sign-up"> new developer account</a> or <a href="/client/sign-up">new client account</a></p>

Note

To set an expiration for user sessions, use the "timeout_in_minutes": 0, attribute in the Instance configuration settings JSON as described in the Updating Instance Configuration tutorial. If you set the attribute to 15, for example, all users will get logged out automatically after 15 minutes of inactivity.

Next steps

Congratulations! You created a sign in page for users to sign in manually. Now you can learn about signing in a user automatically after sign up:

Questions?

We are always happy to help with any questions you may have.

contact us