---
agentTools:
  projectIndex: https://developers.northpass.com/llms.txt
---

# Open Access Login

The Open Access Login page comes in 4 variants, depending on your authentication strategy.

## URL

### Last name and phone number collection

`auth/auth_url_phone_number/login`

### First name, last name and email collection

`auth/auth_url_email/login`

### First name, last name and employee ID collection

`auth/auth_url_employee/login`

### First name, last name, email, phone number and terms of service collection

`auth/auth_url_terms/login`

## Screenshots

[block:image]
{
  "images": [
    {
      "image": [
        "https://files.readme.io/3dd6f16-Open_access.png",
        "Open_access.png",
        2560,
        1440,
        "#eff0f2"
      ]
    }
  ]
}
[/block]

## Structure

### Last name and phone number collection

[block:code]
{
  "codes": [
    {
      "code": "auth_url_phone_number.html.liquid\n└── _header_minimal.html.liquid\n    └── _messages.html.liquid",
      "language": "text"
    }
  ]
}
[/block]

### First name, last name and email collection

[block:code]
{
  "codes": [
    {
      "code": "auth_url_email.html.liquid\n└── _header_minimal.html.liquid\n    └── _messages.html.liquid",
      "language": "text"
    }
  ]
}
[/block]

### First name, last name and employee ID collection

[block:code]
{
  "codes": [
    {
      "code": "auth_url_employee.html.liquid\n└── _header_minimal.html.liquid\n    └── _messages.html.liquid",
      "language": "text"
    }
  ]
}
[/block]

### First name, last name, email, phone number and terms of service collection

[block:code]
{
  "codes": [
    {
      "code": "auth_url_terms.html.liquid\n└── _header_minimal.html.liquid\n    └── _messages.html.liquid",
      "language": "text"
    }
  ]
}
[/block]

## Template Considerations

Those pages & templates are available only when the school uses the open access authentication strategy.

### Form

The Open Access Login page uses an HTML form to submit the learner's credentials. Please make sure you're not overwriting its internals:

* the `action` and `method` attributes on the `<form>` HTML tag
* the `form_authenticity_token` Liquid tag inside the `<form>` HTML tag
* the name attribute on the `<input>` HTML tags

Additionally, a `form` object is exposed, which handles the form's options and state. The `form` object has the following attributes:

#### Last name and phone number collection

[block:parameters]
{
  "data": {
    "0-0": "url",
    "0-1": "string",
    "1-0": "last_name",
    "1-1": "string",
    "2-0": "phone_number",
    "2-1": "string",
    "h-0": "name",
    "h-1": "type"
  },
  "cols": 2,
  "rows": 3
}
[/block]

#### First name, last name and email collection

[block:parameters]
{
  "data": {
    "0-0": "url",
    "0-1": "string",
    "1-0": "first_name",
    "1-1": "string",
    "2-0": "last_name",
    "2-1": "string",
    "3-0": "email",
    "3-1": "string",
    "h-0": "name",
    "h-1": "type"
  },
  "cols": 2,
  "rows": 4
}
[/block]

#### First name, last name and employee ID collection

[block:parameters]
{
  "data": {
    "0-0": "url",
    "0-1": "string",
    "1-0": "employee_id",
    "1-1": "string",
    "2-0": "first_name",
    "2-1": "string",
    "3-0": "last_name",
    "3-1": "string",
    "h-0": "name",
    "h-1": "type"
  },
  "cols": 2,
  "rows": 4
}
[/block]

#### First name, last name, email, phone number and terms of service collection

[block:parameters]
{
  "data": {
    "0-0": "url",
    "0-1": "string",
    "1-0": "email",
    "1-1": "string",
    "2-0": "first_name",
    "2-1": "string",
    "3-0": "last_name",
    "3-1": "string",
    "4-0": "phone_number",
    "4-1": "string",
    "h-0": "name",
    "h-1": "type"
  },
  "cols": 2,
  "rows": 5
}
[/block]