magiclinksdev

package module
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 14, 2024 License: Apache-2.0 Imports: 0 Imported by: 0

README

magiclinksdev

You can find the documentation for this project on the docs site. This site contains resources for implementing a client and self-hosting the project.

You can find the SaaS landing page at https://magiclinks.dev. Use of the SaaS platform is not required, but it's very inexpensive and may be cheaper than deploying yourself.

Getting started

The magiclinksdev project is an authentication service that uses magic links to authenticate users. A typical use case would involve sending a magic link to a user via email. After the user clicks the link, a new authenticated session is created for that user. Sometimes magiclinksdev is abbreviated as "mld".

About

This project is a magic link authentication service. It serves use cases like:

  • Sign up
  • Log in
  • Password resets
  • Email verification
  • And more authentication use cases

It can be used to supplement password authentication or replace it entirely.

A typical use case involves sending a magic link to a user via email. After the user clicks the link, a new authenticated session is created for that user.

Screenshots

The built-in email template is populated on a per-request basis. It adapts to the device's theme automatically. This template was built using maizzle.

Suggested Email Workflow

Implementing a client application

Client applications are programs that use the magiclinksdev project to authenticate their users. Check out the SDKs page to get started with an existing SDK. If you can't find an SDK for your language, you can use the Specification to implement your own client by hand or code generation. To learn more about the client workflow, check out the Workflow page.

Self-hosting the service

The magiclinksdev project can be self-hosted. Check out the Quickstart page to get started in minutes. For reference on configuring your self-hosted instance, check out the Configuration.

Source code and license

The magiclinksdev project is publicly available on GitHub and licensed under Elastic License 2.0 (ELv2). The ELv2 is a permissive license with three simple limitations. Please see the ELv2 FAQ for more information.

Optional SaaS platform

You can find the optional Software-as-a-Service (SaaS) platform landing page at https://magiclinks.dev. Use of the SaaS platform is not required, but it's very inexpensive and may be cheaper than deploying yourself.

Support the project

This project took a lot of time, effort, and money to create and maintain for you. If you get some business value of this project consider becoming a GitHub Sponsor.

Documentation

Index

Constants

View Source
const (
	// ContentTypeJSON is the content type for JSON.
	ContentTypeJSON = "application/json"
	// DefaultRelativePathRedirect is the default relative path for redirecting.
	DefaultRelativePathRedirect = "redirect"
	// HeaderContentType is the content type header.
	HeaderContentType = "Content-Type"
	// LogFmt is the log format.
	LogFmt = "%s\nError: %s"
	// LogErr is the log error.
	LogErr = "error"
	// LogRequestBody is key for logging the request body.
	LogRequestBody = "requestBody"
	// LogResponseBody is key for logging the response body.
	LogResponseBody = "responseBody"
	// ResponseInternalServerError is the response for internal server errors.
	ResponseInternalServerError = "Internal server error."
	// ResponseTooManyRequests is the response for too many requests.
	ResponseTooManyRequests = "Too many requests."
	// ResponseUnauthorized is the response for unauthorized requests.
	ResponseUnauthorized = "Unauthorized."
)

Variables

This section is empty.

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL