All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Added a new crate, torii-storage-seaorm
, which is a storage backend for the torii authentication ecosystem that uses SeaORM to target SQLite, Postgres, and MySQL.
SessionStorage::get_session
now returns aResult<Option<Session>, Error>
instead ofResult<Session, Error>
. This reverts the change from0.2.3
.
- Login methods now accept an optional user agent and ip address parameter which will be stored with the session in the database.
A new plugin for generating and verifying magic links has been added.
SessionStorage::get_session
now returns aResult<Session, Error>
instead ofResult<Option<Session>, Error>
. Users should check the error for details on if the session was found, or expired.- Session creation, deletion, and cleanup are now handled by the
SessionManager
trait and theDefaultSessionManager
implementation. - Plugins no longer require a
SessionStorage
parameter, the top levelTorii
struct now holds aSessionManager
instance and login methods continue to return aSession
instance.
Storage<U,S>
struct has been removed. UseArc<U>
andArc<S>
directly instead.AsRef<UserId> and AsRef<SessionId>
have been removed. Useas_str()
instead when needing a database serializable string.
This is the first release of the torii authentication ecosystem, it includes the following crates:
torii-core
: Core functionality for the torii authentication ecosystem.torii-auth-password
: Password authentication plugin for the torii authentication ecosystem.torii-auth-oauth
: OAuth authentication plugin for the torii authentication ecosystem.torii-auth-passkey
: Passkey authentication plugin for the torii authentication ecosystem.torii-storage-sqlite
: SQLite storage backend for the torii authentication ecosystem.torii-storage-postgres
: Postgres storage backend for the torii authentication ecosystem.torii
: Main crate for the torii authentication ecosystem.
Users should use the torii
crate with feature flags to enable the authentication plugins and storage backends they need.
[dependencies]
torii = { version = "0.2.0", features = ["password", "sqlite"] }