Elements Manual
Elements 3 Manual
Elements 3 Manual
  • Welcome 👋
  • QUICK START
    • Elements in Five Minutes or Less
    • Accessing the Web UI (CRM)
    • Creating A User
  • General
    • General Concepts
    • N-Tier Architecture
    • Security Model
  • Core Features
    • Core API Overview
    • Sessions
    • Applications
    • Users and Profiles
    • Digital Goods
    • Progress and Missions
    • Leaderboards
    • Matchmaking
    • Followers
    • Friends
    • Reward Issuance
    • Save Data
    • Schemas and Metadata Specifications
    • Queries
      • Base Query Syntax
      • Boolean Queries
      • Object Graph Navigation
      • Advanced Operators
        • .ref
        • .name
    • Custom Code
      • Element Structure
      • RESTful APIs
      • Websockets
    • Auth Schemes
      • OIDC
      • OAuth2
  • Web 3
    • Omni Chain Support
    • Vaults
    • Wallets
    • Smart Contracts
      • Smart Contracts: Ethereum
      • Smart Contracts: Flow
      • Smart Contracts: Solana
      • Smart Contracts: Neo
  • CONFIGURATION
    • Direct Database Access and Batch Configuration
    • Batch Samples
      • Item Upload Bash Script Sample
      • Mission Upload Bash Script Sample
  • RESTful APIs
    • Swagger and Swagger UI
    • API Specification
      • /application
      • /application/configuration
      • /auth
      • /auth_scheme
        • /custom
        • /oauth2
        • /oidc
      • /blockchain
      • /followee
      • /follower
      • /friend
      • /google
      • /index
      • /inventory
      • /item
      • /large_object
      • /leaderboard
      • /rank
      • /score
      • /match
      • /mission
      • /progress
      • /reward_issuance
      • /schedule
      • /notification
      • /profile
      • /save_data
      • /metadata_spec
      • /mock_session
      • /session
      • /health
      • /version
      • /signup
      • /user
    • Javadocs
  • Releases
    • 3.1 Release Notes
Powered by GitBook
On this page
  • What is a User?
  • So how do I make a user...?
  1. QUICK START

Creating A User

PreviousAccessing the Web UI (CRM)NextGeneral Concepts

Last updated 1 month ago

What is a User?

The User object is the primary representation of a person's account in Elements. The User is what helps connect Profiles, Inventory, Progress, and other collections inside of Elements.

User UID

Each authentication method maps to a User UID internally, which in turn keeps a reference to the User. There can be any number of these User UIDs, but each scheme can only exist once per User. In other words, there can be any number of different ways to access the User, but that User can only have a single Google Id, Apple Id, Steam Id, etc.

Profiles

Many of the core features are associated directly with a Profile. Elements uses a one-to-many model for the User / Profile relationship. A Profile is linked directly to both one single Application and one single User.

One example might be a game where you might have your account login (User) and several characters that you can create with individual character attributes and story progress (Profile).

As Elements is a multi-tenant system, there can be many Applications that allow for many Profiles per Application.

Some collections, such as Inventory, are associated directly with the User object, and can be accessed across multiple Profiles. However, other collections reference the individual Profile directly.

So how do I make a user...?

Ah right! There are a few different ways to make a user, but without diving into a custom Element, here are the three simplest.

First, we can use the CRM as a SUPERUSER to create new users (see ).

Second, we can use the from our frontend code for basic user id / password auth.

Lastly, we can use any , , or to sign in, which will automatically create a user with the info in the token if one doesn't exist yet.

Users and Profiles
SignUp API
OIDC
OAuth2
Custom Auth