The cl-password-store Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The cl-password-store Reference Manual

This is the cl-password-store Reference Manual, version 0.1.0, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 03:28:22 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

cl-password-store -- password management for Common Lisp (web) applications

cl-password-store provides a light-weight and extendible solution to user/password management:

Users can be identified by strings or by subclassing user-token-mixin.

For documentation check out the API documentation, or look at the examples. There is also a 5am test suite in the file tests.lisp.

The code has been written to be portable, and tested on Allegro Common Lisp and SBCL. All dependency libraries are readily available through quicklisp.

(c) 2013 Utz-Uwe Haus lisp@uuhaus.de, licensed under LLGPL


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 cl-password-store

Author

Utz-Uwe Haus <lisp@uuhaus.de>

License

LLGPL

Description

Password management for Common Lisp (web) applications.

Version

0.1.0

Dependencies
Source

cl-password-store.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 cl-password-store.asd

Location

cl-password-store.asd

Systems

cl-password-store (system)

Packages

cl-password-store-system


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 cl-password-store/package.lisp

Parent

cl-password-store (system)

Location

package.lisp

Packages

cl-password-store


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 cl-password-store/conditions.lisp

Dependency

package.lisp (file)

Parent

cl-password-store (system)

Location

conditions.lisp

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.4 cl-password-store/cl-password-store.lisp

Dependency

conditions.lisp (file)

Parent

cl-password-store (system)

Location

cl-password-store.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

4.1 cl-password-store-system

Source

cl-password-store.asd

Use List

Previous: , Up: Packages   [Contents][Index]

4.2 cl-password-store

Password management for Common Lisp (web) applications.

‘cl-password-store‘ provides a light-weight and extendible solution to user/password management:

* safe password storage:
+ cleartext-free, using your choice of hash algorithm through [ironclad](http://method-combination.net/lisp/ironclad/),
+ storage in an SQL database through [clsql](http://clsql.b9.com/), in a database your application already uses anyway, or in a separate one, and using any backend supported by clsql,
* password reset mechanism with one-time tokens (suitable for mailing to users for confirmation),
* user creation optionally with confirmation tokens (suitable for mailing to users),
* (obviously) user authentication.

Users can be identified by strings or by subclassing [‘user-token-mixin‘](class-user–token–mixin.html).

Source

package.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Special variables

Special Variable: *default-password-database*

The default password database.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Special Variable: *default-password-hash*

The default password hash used.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Special Variable: *default-password-store*

The default password store to use.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Special Variable: *default-password-store-pepper*

The pepper value for hashing. Please change in your application.)

Package

cl-password-store

Source

cl-password-store.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Macros

Macro: with-password-database (&optional DATABASE) &body BODY

Evaluate BODY with DATABASE bound to a ‘clsql:database‘ (default: ‘*default-password-database*‘).

Package

cl-password-store

Source

cl-password-store.lisp (file)

Macro: with-password-store (&optional STORE) &body BODY

Evaluate BODY with STORE bound to a [‘password-store‘](class-password–store.html) (default: ‘*default-password-store*‘).

Package

cl-password-store

Source

cl-password-store.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Functions

Function: open-password-database &key SPEC

Open password database specified by :SPEC, which must be an argument list suitable for clsql:connect.
Default is to use ’(("cl-password-store.sqlite3") :sqlite3); if you use this default you will have to have clsql-sqlite3 loaded too. Returns an clsql:database object suitable as argument to OPEN-PASSWORD-STORE.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Function: open-password-store &key DATABASE VIEW-CLASS-NAME HASH SCHEMA-MIGRATION-HANDLER PEPPER

Open password store designated by TABLENAME in DATABASE (default: *default-password-database*)

Package

cl-password-store

Source

cl-password-store.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.4 Generic functions

Generic Function: all-users &key STORE

Return a list of all user-tokens present in STORE (default: *default-password-store*.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Methods
Method: all-users &key STORE
Generic Function: authenticate-user USER-TOKEN PASSWORD &key STORE

Check whether USER-TOKEN successfully authenticates with
PASSWORD in STORE (default: *default-password-store*).
Returns a generalized Boolean.
If user had a password-reset-token pending, clear it upon successfull auth.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Methods
Method: authenticate-user (USER-TOKEN user-token-mixin) (PASSWORD string) &key STORE
Method: authenticate-user (USER-TOKEN string) (PASSWORD string) &key STORE
Generic Function: confirm-registration USER-TOKEN CONFIRMATION-TOKEN &key STORE

Confirm USER-TOKEN using CONFIRMATION-TOKEN in STORE (default: *default-password-store*). Returns a generalized Boolean.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Methods
Method: confirm-registration (USER-TOKEN user-token-mixin) (CONFIRMATION-TOKEN string) &key STORE
Method: confirm-registration (USER-TOKEN string) (CONFIRMATION-TOKEN string) &key STORE
Generic Function: delete-user USER-TOKEN &key STORE NO-EXIST-OK

Delete user identified by USER-TOKEN in STORE (default: *default-password-store*). If no-exist-ok is non-nil, silently ignore nonexisting users.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Methods
Method: delete-user (USER-TOKEN user-token-mixin) &key STORE NO-EXIST-OK
Method: delete-user (USER-TOKEN string) &key STORE NO-EXIST-OK
Generic Function: get-password-reset-token USER-TOKEN &key STORE VALIDITY-DURATION

Create a new password reset token, register it for USER-TOKEN (replacing a possibly-existing old one) in STORE (default: *default-password-store*), and note that it will after VALIDITY-DURATION (default: *default-token-validity*), a duration as created by clsql:make-duration. Returns a string, the token.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Methods
Method: get-password-reset-token (USER-TOKEN user-token-mixin) &key STORE VALIDITY-DURATION
Method: get-password-reset-token (USER-TOKEN string) &key STORE VALIDITY-DURATION
Generic Function: get-user-confirmation-token USER-TOKEN &key STORE VALIDITY-DURATION

Create a new account confirmation token, register it for USER-TOKEN (replacing a possibly-existing old one) in STORE (default: *default-password-store*), and note that it will after VALIDITY-DURATION (default: *default-token-validity*), a duration as created by clsql:make-duration. Account cannot be authenticated until confirm-registration was successful.
Returns a string, the token.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Methods
Method: get-user-confirmation-token (USER-TOKEN user-token-mixin) &key STORE VALIDITY-DURATION
Method: get-user-confirmation-token (USER-TOKEN string) &key STORE VALIDITY-DURATION
Generic Function: pending-confirmationp PASSWORD-ENTRY &key STORE

Check whether PASSWORD-ENTRY is blocked because it needs confirmation. Returns a generalized Boolean.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Methods
Method: pending-confirmationp (RECORD password-entry) &key STORE
Method: pending-confirmationp (USER-TOKEN string) &key STORE
Method: pending-confirmationp (USER-TOKEN user-token-mixin) &key STORE
Generic Function: register-user USER-TOKEN &key STORE PASSWORD NEEDS-CONFIRMATION-WITHIN

Register user identified by USER-TOKEN in store specified by :STORE argument (default: *default-password-store*). Set password if :PASSWORD is given (default: no password set, meaning locked account). :NEEDS-CONFIRMATION-within (default *default-token-validity*) makes the account unusable until confirmation has occured. Can be NIL to indicate that no confirmation is needed. Returns up to two values: a user object and possibly the confirmation token.
raises a user-exists condition if user already exists.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Methods
Method: register-user (USER-TOKEN user-token-mixin) &key STORE PASSWORD NEEDS-CONFIRMATION-WITHIN
Method: register-user (USER-TOKEN string) &key STORE PASSWORD NEEDS-CONFIRMATION-WITHIN
Generic Function: reset-password USER-TOKEN RESET-TOKEN NEW-PASSWORD &key STORE

Reset password of USER-TOKEN in STORE (default *default-password-store*) to NEW-PASSWORD, authenticating by RESET-TOKEN. Returns generalized boolean to indicate success.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Methods
Method: reset-password (USER-TOKEN user-token-mixin) (RESET-TOKEN string) (NEW-PASSWORD string) &key STORE
Method: reset-password (USER-TOKEN string) (RESET-TOKEN string) (NEW-PASSWORD string) &key STORE
Generic Function: user-knownp USER-TOKEN &key STORE

Check whether user identified by USER-TOKEN is known in store specified by :STORE (default: *default-password-store*). Returns a password-entry instance or NIL.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Methods
Method: user-knownp (USER-TOKEN user-token-mixin) &key STORE
Method: user-knownp (USER-TOKEN string) &key STORE
Generic Function: user-token-id USER-TOKEN

A function returning a string identifier of at most 255 characters suitable to identify each user

Package

cl-password-store

Source

cl-password-store.lisp (file)

Methods
Method: user-token-id (TOKEN user-token-mixin)
Method: user-token-id (TOKEN string)

Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.5 Conditions

Condition: confirmation-token-expired ()

Condition raised if a user confirmation was attempted with a token whose validity duration has expired.

Package

cl-password-store

Source

conditions.lisp (file)

Direct superclasses

cl-password-store-condition (condition)

Direct methods
Direct slots
Slot: user-token

The user-token that triggered the condition.

Initargs

:user-token

Readers

get-user-token (generic function)

Writers

(setf get-user-token) (generic function)

Slot: expiry

The expiration time of password change token.

Initargs

:expiry

Readers

get-expiry (generic function)

Writers

(setf get-expiry) (generic function)

Condition: confirmation-token-invalid ()

Condition raised if a user confirmation was attempted with a bad token

Package

cl-password-store

Source

conditions.lisp (file)

Direct superclasses

cl-password-store-condition (condition)

Direct methods
Direct slots
Slot: user-token

The user-token that triggered the condition.

Initargs

:user-token

Readers

get-user-token (generic function)

Writers

(setf get-user-token) (generic function)

Slot: confirmation-token

The token that is invalid.

Initargs

:confirmation-token

Readers

get-confirmation-token (generic function)

Writers

(setf get-confirmation-token) (generic function)

Condition: password-token-expired ()

Condition raised if a password change was attempted with a token whose validity duration has expired.

Package

cl-password-store

Source

conditions.lisp (file)

Direct superclasses

cl-password-store-condition (condition)

Direct methods
Direct slots
Slot: user-token

The user-token that triggered the condition.

Initargs

:user-token

Readers

get-user-token (generic function)

Writers

(setf get-user-token) (generic function)

Slot: expiry

The expiration time of password change token.

Initargs

:expiry

Readers

get-expiry (generic function)

Writers

(setf get-expiry) (generic function)

Condition: password-token-invalid ()

Condition raised if a password change was attempted with a bad token

Package

cl-password-store

Source

conditions.lisp (file)

Direct superclasses

cl-password-store-condition (condition)

Direct methods
Direct slots
Slot: user-token

The user-token that triggered the condition.

Initargs

:user-token

Readers

get-user-token (generic function)

Writers

(setf get-user-token) (generic function)

Slot: reset-token

The token that is invalid.

Initargs

:reset-token

Readers

get-reset-token (generic function)

Writers

(setf get-reset-token) (generic function)

Condition: user-exists ()

Condition raised if an attempt was made to create a user that already exists.

Package

cl-password-store

Source

conditions.lisp (file)

Direct superclasses

cl-password-store-condition (condition)

Direct methods
Direct slots
Slot: user-token

The user-token that triggered the condition.

Initargs

:user-token

Readers

get-user-token (generic function)

Writers

(setf get-user-token) (generic function)

Condition: user-unknown ()

Condition raised if an operation was attempted with an unknown user-token.

Package

cl-password-store

Source

conditions.lisp (file)

Direct superclasses

cl-password-store-condition (condition)

Direct methods
Direct slots
Slot: user-token

The user-token that triggered the condition.

Initargs

:user-token

Readers

get-user-token (generic function)

Writers

(setf get-user-token) (generic function)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.6 Classes

Class: password-entry ()

View class used to represent a user/password entry and map it to SQL table data.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Direct superclasses

standard-db-object (class)

Direct methods
Direct slots
Slot: user-token

A unique name for the user, as a string of up to ‘clsql:*default-string-length*‘ characters.

Type

(or null string)

Initargs

:user-token

Readers

get-user-token (generic function)

Slot: salt

Salt value for this entry.

Type

(or null string)

Initargs

:salt

Readers

get-salt (generic function)

Writers

(setf get-salt) (generic function)

Slot: hashed-password

The hashed password.

Type

(or null string)

Initargs

:password-hash

Readers

get-hashed-password (generic function)

Writers

(setf get-hashed-password) (generic function)

Slot: reset-token

If we are in a password reset phase, the token that needs to be presented to change the password, ‘NIL‘ otherwise.

Type

(or null string)

Readers

get-reset-token (generic function)

Writers

(setf get-reset-token) (generic function)

Slot: token-expiry

Date when reset-token expires.

Type

(or null clsql-sys:wall-time)

Readers

get-token-expiry (generic function)

Writers

(setf get-token-expiry) (generic function)

Slot: confirmation-token

If we are in account creation phase, the token that needs to be presented to activate the account, ‘NIL‘ otherwise.

Type

(or null string)

Initargs

:confirmation-token

Readers

get-confirmation-token (generic function)

Writers

(setf get-confirmation-token) (generic function)

Slot: confirmation-token-expiry

Date when confirmation-token expires.

Type

(or null clsql-sys:wall-time)

Initargs

:confirmation-token-expiry

Readers

get-confirmation-token-expiry (generic function)

Writers

(setf get-confirmation-token-expiry) (generic function)

Class: password-store ()

A password store.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: db

The database used by this store.

Type

clsql-sys:database

Initargs

:db

Readers

get-db (generic function)

Writers

(setf get-db) (generic function)

Slot: hash

The type of hash-digest to be used.

Initargs

:hash

Readers

get-hash (generic function)

Writers

(setf get-hash) (generic function)

Slot: pepper

Pepper value used in hashing.

Type

string

Initargs

:pepper

Readers

get-pepper (generic function)

Slot: view-class-name

Name of the view class for password entries, a subclass of PASSWORD-ENTRY.

Initargs

:view-class-name

Readers

get-view-class-name (generic function)

Writers

(setf get-view-class-name) (generic function)

Direct Default Initargs
InitargValue
:view-class-name(quote cl-password-store:password-entry)
:dbcl-password-store:*default-password-database*
:hashcl-password-store:*default-password-hash*
:peppercl-password-store:*default-password-store-pepper*
Class: user-token-mixin ()

Mixin class for objects that can serve as user-token.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: id

A string identifying the user.

Type

(string clsql-sys:*default-string-length*)

Initargs

:id

Readers

get-id (generic function)

Writers

(setf get-id) (generic function)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Constants

Constant: +token-bits+

Number of bits to use in a random token.

Package

cl-password-store

Source

cl-password-store.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Special variables

Special Variable: *default-token-validity*

The default duration that a token is valid.

Package

cl-password-store

Source

cl-password-store.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Functions

Function: compute-expiration-date VALIDITY

Compute the expiration date, which is at VALIDITY after current time.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Function: ensure-password-table &key DATABASE VIEW-CLASS-NAME SCHEMA-MIGRATION-HANDLER

Ensure that DATABASE has a suitable password table named TABLENAME.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Function: find-user USER-TOKEN STORE

Find user USER-TOKEN in STORE or signal a USER-UNKNOWN condition.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Function: generate-salt TOKEN

Generate a salt value for password hashing on TOKEN. Returns a string.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Function: generate-token ()

Generate a random string suitable as a token.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Function: password-hash-equal P1 P2

Compare P1 and P2 for equality.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Function: token-equal T1 T2

Equality predicate for tokens.

Package

cl-password-store

Source

cl-password-store.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.4 Generic functions

Generic Function: add-user STORE TOKEN PASSWORD NEEDS-CONFIRMATION-WITHIN

Low level user creation function.
Add user identified by TOKEN to STORE, with PASSWORD set, and possibly lock the account by requiring confirmation, depending on NEEDS-CONFIRMATION-WITHIN duration value.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Methods
Method: add-user (STORE password-store) TOKEN PASSWORD NEEDS-CONFIRMATION-WITHIN
Generic Function: clear-password-reset-token USER &key STORE

Clear password reset token of USER-TOKEN

Package

cl-password-store

Source

cl-password-store.lisp (file)

Methods
Method: clear-password-reset-token (USER-RECORD password-entry) &key STORE
Method: clear-password-reset-token (USER-TOKEN string) &key STORE
Method: clear-password-reset-token (USER-TOKEN user-token-mixin) &key STORE
Generic Function: compute-password-hash STORE PASSWORD SALT

Compute the appropriate hash value for PASSWORD in STORE.

Package

cl-password-store

Source

cl-password-store.lisp (file)

Methods
Method: compute-password-hash (STORE password-store) (PASSWORD (eql nil)) SALT
Method: compute-password-hash (STORE password-store) (PASSWORD string) (SALT string)
Generic Function: get-confirmation-token CONDITION
Generic Function: (setf get-confirmation-token) NEW-VALUE CONDITION
Package

cl-password-store

Methods
Method: get-confirmation-token (PASSWORD-ENTRY password-entry)
Method: (setf get-confirmation-token) NEW-VALUE (PASSWORD-ENTRY password-entry)

If we are in account creation phase, the token that needs to be presented to activate the account, ‘NIL‘ otherwise.

Source

cl-password-store.lisp (file)

Method: get-confirmation-token (CONDITION confirmation-token-invalid)
Method: (setf get-confirmation-token) NEW-VALUE (CONDITION confirmation-token-invalid)
Source

conditions.lisp (file)

Generic Function: get-confirmation-token-expiry OBJECT
Generic Function: (setf get-confirmation-token-expiry) NEW-VALUE OBJECT
Package

cl-password-store

Methods
Method: get-confirmation-token-expiry (PASSWORD-ENTRY password-entry)
Method: (setf get-confirmation-token-expiry) NEW-VALUE (PASSWORD-ENTRY password-entry)

Date when confirmation-token expires.

Source

cl-password-store.lisp (file)

Generic Function: get-db OBJECT
Generic Function: (setf get-db) NEW-VALUE OBJECT
Package

cl-password-store

Methods
Method: get-db (PASSWORD-STORE password-store)
Method: (setf get-db) NEW-VALUE (PASSWORD-STORE password-store)

The database used by this store.

Source

cl-password-store.lisp (file)

Generic Function: get-expiry CONDITION
Generic Function: (setf get-expiry) NEW-VALUE CONDITION
Package

cl-password-store

Methods
Method: get-expiry (CONDITION confirmation-token-expired)
Method: (setf get-expiry) NEW-VALUE (CONDITION confirmation-token-expired)
Source

conditions.lisp (file)

Method: get-expiry (CONDITION password-token-expired)
Method: (setf get-expiry) NEW-VALUE (CONDITION password-token-expired)
Source

conditions.lisp (file)

Generic Function: get-hash OBJECT
Generic Function: (setf get-hash) NEW-VALUE OBJECT
Package

cl-password-store

Methods
Method: get-hash (PASSWORD-STORE password-store)
Method: (setf get-hash) NEW-VALUE (PASSWORD-STORE password-store)

The type of hash-digest to be used.

Source

cl-password-store.lisp (file)

Generic Function: get-hashed-password OBJECT
Generic Function: (setf get-hashed-password) NEW-VALUE OBJECT
Package

cl-password-store

Methods
Method: get-hashed-password (PASSWORD-ENTRY password-entry)
Method: (setf get-hashed-password) NEW-VALUE (PASSWORD-ENTRY password-entry)

The hashed password.

Source

cl-password-store.lisp (file)

Generic Function: get-id OBJECT
Generic Function: (setf get-id) NEW-VALUE OBJECT
Package

cl-password-store

Methods
Method: get-id (USER-TOKEN-MIXIN user-token-mixin)
Method: (setf get-id) NEW-VALUE (USER-TOKEN-MIXIN user-token-mixin)

A string identifying the user.

Source

cl-password-store.lisp (file)

Generic Function: get-pepper OBJECT
Package

cl-password-store

Methods
Method: get-pepper (PASSWORD-STORE password-store)

Pepper value used in hashing.

Source

cl-password-store.lisp (file)

Generic Function: get-reset-token CONDITION
Generic Function: (setf get-reset-token) NEW-VALUE CONDITION
Package

cl-password-store

Methods
Method: get-reset-token (PASSWORD-ENTRY password-entry)
Method: (setf get-reset-token) NEW-VALUE (PASSWORD-ENTRY password-entry)

If we are in a password reset phase, the token that needs to be presented to change the password, ‘NIL‘ otherwise.

Source

cl-password-store.lisp (file)

Method: get-reset-token (CONDITION password-token-invalid)
Method: (setf get-reset-token) NEW-VALUE (CONDITION password-token-invalid)
Source

conditions.lisp (file)

Generic Function: get-salt OBJECT
Generic Function: (setf get-salt) NEW-VALUE OBJECT
Package

cl-password-store

Methods
Method: get-salt (PASSWORD-ENTRY password-entry)
Method: (setf get-salt) NEW-VALUE (PASSWORD-ENTRY password-entry)

Salt value for this entry.

Source

cl-password-store.lisp (file)

Generic Function: get-token-expiry OBJECT
Generic Function: (setf get-token-expiry) NEW-VALUE OBJECT
Package

cl-password-store

Methods
Method: get-token-expiry (PASSWORD-ENTRY password-entry)
Method: (setf get-token-expiry) NEW-VALUE (PASSWORD-ENTRY password-entry)

Date when reset-token expires.

Source

cl-password-store.lisp (file)

Generic Function: get-user-token CONDITION
Generic Function: (setf get-user-token) NEW-VALUE CONDITION
Package

cl-password-store

Methods
Method: get-user-token (PASSWORD-ENTRY password-entry)

A unique name for the user, as a string of up to ‘clsql:*default-string-length*‘ characters.

Source

cl-password-store.lisp (file)

Method: get-user-token (CONDITION confirmation-token-invalid)
Method: (setf get-user-token) NEW-VALUE (CONDITION confirmation-token-invalid)
Source

conditions.lisp (file)

Method: get-user-token (CONDITION confirmation-token-expired)
Method: (setf get-user-token) NEW-VALUE (CONDITION confirmation-token-expired)
Source

conditions.lisp (file)

Method: get-user-token (CONDITION password-token-invalid)
Method: (setf get-user-token) NEW-VALUE (CONDITION password-token-invalid)
Source

conditions.lisp (file)

Method: get-user-token (CONDITION password-token-expired)
Method: (setf get-user-token) NEW-VALUE (CONDITION password-token-expired)
Source

conditions.lisp (file)

Method: get-user-token (CONDITION user-unknown)
Method: (setf get-user-token) NEW-VALUE (CONDITION user-unknown)
Source

conditions.lisp (file)

Method: get-user-token (CONDITION user-exists)
Method: (setf get-user-token) NEW-VALUE (CONDITION user-exists)
Source

conditions.lisp (file)

Generic Function: get-view-class-name OBJECT
Generic Function: (setf get-view-class-name) NEW-VALUE OBJECT
Package

cl-password-store

Methods
Method: get-view-class-name (PASSWORD-STORE password-store)
Method: (setf get-view-class-name) NEW-VALUE (PASSWORD-STORE password-store)

Name of the view class for password entries, a subclass of PASSWORD-ENTRY.

Source

cl-password-store.lisp (file)

Generic Function: password-entry-schema-migration-handler DATABASE VIEW-CLASS-NAME

A function to handle schema migration for password entry table.
Takes two arguments, the ‘clsql:database‘ object and the current view class, e.g. [‘password-entry‘](class-password–entry.html).

Package

cl-password-store

Source

cl-password-store.lisp (file)

Methods
Method: password-entry-schema-migration-handler DATABASE VIEW-CLASS-NAME

Previous: , Up: Internal definitions   [Contents][Index]

5.2.5 Conditions

Condition: cl-password-store-condition ()

Superclass of all conditions raised by cl-password-store.

Package

cl-password-store

Source

conditions.lisp (file)

Direct superclasses

condition (condition)

Direct subclasses

Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   C   F   L  
Index Entry  Section

C
cl-password-store.asd: The cl-password-store<dot>asd file
cl-password-store/cl-password-store.lisp: The cl-password-store/cl-password-store<dot>lisp file
cl-password-store/conditions.lisp: The cl-password-store/conditions<dot>lisp file
cl-password-store/package.lisp: The cl-password-store/package<dot>lisp file

F
File, Lisp, cl-password-store.asd: The cl-password-store<dot>asd file
File, Lisp, cl-password-store/cl-password-store.lisp: The cl-password-store/cl-password-store<dot>lisp file
File, Lisp, cl-password-store/conditions.lisp: The cl-password-store/conditions<dot>lisp file
File, Lisp, cl-password-store/package.lisp: The cl-password-store/package<dot>lisp file

L
Lisp File, cl-password-store.asd: The cl-password-store<dot>asd file
Lisp File, cl-password-store/cl-password-store.lisp: The cl-password-store/cl-password-store<dot>lisp file
Lisp File, cl-password-store/conditions.lisp: The cl-password-store/conditions<dot>lisp file
Lisp File, cl-password-store/package.lisp: The cl-password-store/package<dot>lisp file

Jump to:   C   F   L  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   (  
A   C   D   E   F   G   M   O   P   R   T   U   W  
Index Entry  Section

(
(setf get-confirmation-token): Internal generic functions
(setf get-confirmation-token): Internal generic functions
(setf get-confirmation-token): Internal generic functions
(setf get-confirmation-token-expiry): Internal generic functions
(setf get-confirmation-token-expiry): Internal generic functions
(setf get-db): Internal generic functions
(setf get-db): Internal generic functions
(setf get-expiry): Internal generic functions
(setf get-expiry): Internal generic functions
(setf get-expiry): Internal generic functions
(setf get-hash): Internal generic functions
(setf get-hash): Internal generic functions
(setf get-hashed-password): Internal generic functions
(setf get-hashed-password): Internal generic functions
(setf get-id): Internal generic functions
(setf get-id): Internal generic functions
(setf get-reset-token): Internal generic functions
(setf get-reset-token): Internal generic functions
(setf get-reset-token): Internal generic functions
(setf get-salt): Internal generic functions
(setf get-salt): Internal generic functions
(setf get-token-expiry): Internal generic functions
(setf get-token-expiry): Internal generic functions
(setf get-user-token): Internal generic functions
(setf get-user-token): Internal generic functions
(setf get-user-token): Internal generic functions
(setf get-user-token): Internal generic functions
(setf get-user-token): Internal generic functions
(setf get-user-token): Internal generic functions
(setf get-user-token): Internal generic functions
(setf get-view-class-name): Internal generic functions
(setf get-view-class-name): Internal generic functions

A
add-user: Internal generic functions
add-user: Internal generic functions
all-users: Exported generic functions
all-users: Exported generic functions
authenticate-user: Exported generic functions
authenticate-user: Exported generic functions
authenticate-user: Exported generic functions

C
clear-password-reset-token: Internal generic functions
clear-password-reset-token: Internal generic functions
clear-password-reset-token: Internal generic functions
clear-password-reset-token: Internal generic functions
compute-expiration-date: Internal functions
compute-password-hash: Internal generic functions
compute-password-hash: Internal generic functions
compute-password-hash: Internal generic functions
confirm-registration: Exported generic functions
confirm-registration: Exported generic functions
confirm-registration: Exported generic functions

D
delete-user: Exported generic functions
delete-user: Exported generic functions
delete-user: Exported generic functions

E
ensure-password-table: Internal functions

F
find-user: Internal functions
Function, compute-expiration-date: Internal functions
Function, ensure-password-table: Internal functions
Function, find-user: Internal functions
Function, generate-salt: Internal functions
Function, generate-token: Internal functions
Function, open-password-database: Exported functions
Function, open-password-store: Exported functions
Function, password-hash-equal: Internal functions
Function, token-equal: Internal functions

G
generate-salt: Internal functions
generate-token: Internal functions
Generic Function, (setf get-confirmation-token): Internal generic functions
Generic Function, (setf get-confirmation-token-expiry): Internal generic functions
Generic Function, (setf get-db): Internal generic functions
Generic Function, (setf get-expiry): Internal generic functions
Generic Function, (setf get-hash): Internal generic functions
Generic Function, (setf get-hashed-password): Internal generic functions
Generic Function, (setf get-id): Internal generic functions
Generic Function, (setf get-reset-token): Internal generic functions
Generic Function, (setf get-salt): Internal generic functions
Generic Function, (setf get-token-expiry): Internal generic functions
Generic Function, (setf get-user-token): Internal generic functions
Generic Function, (setf get-view-class-name): Internal generic functions
Generic Function, add-user: Internal generic functions
Generic Function, all-users: Exported generic functions
Generic Function, authenticate-user: Exported generic functions
Generic Function, clear-password-reset-token: Internal generic functions
Generic Function, compute-password-hash: Internal generic functions
Generic Function, confirm-registration: Exported generic functions
Generic Function, delete-user: Exported generic functions
Generic Function, get-confirmation-token: Internal generic functions
Generic Function, get-confirmation-token-expiry: Internal generic functions
Generic Function, get-db: Internal generic functions
Generic Function, get-expiry: Internal generic functions
Generic Function, get-hash: Internal generic functions
Generic Function, get-hashed-password: Internal generic functions
Generic Function, get-id: Internal generic functions
Generic Function, get-password-reset-token: Exported generic functions
Generic Function, get-pepper: Internal generic functions
Generic Function, get-reset-token: Internal generic functions
Generic Function, get-salt: Internal generic functions
Generic Function, get-token-expiry: Internal generic functions
Generic Function, get-user-confirmation-token: Exported generic functions
Generic Function, get-user-token: Internal generic functions
Generic Function, get-view-class-name: Internal generic functions
Generic Function, password-entry-schema-migration-handler: Internal generic functions
Generic Function, pending-confirmationp: Exported generic functions
Generic Function, register-user: Exported generic functions
Generic Function, reset-password: Exported generic functions
Generic Function, user-knownp: Exported generic functions
Generic Function, user-token-id: Exported generic functions
get-confirmation-token: Internal generic functions
get-confirmation-token: Internal generic functions
get-confirmation-token: Internal generic functions
get-confirmation-token-expiry: Internal generic functions
get-confirmation-token-expiry: Internal generic functions
get-db: Internal generic functions
get-db: Internal generic functions
get-expiry: Internal generic functions
get-expiry: Internal generic functions
get-expiry: Internal generic functions
get-hash: Internal generic functions
get-hash: Internal generic functions
get-hashed-password: Internal generic functions
get-hashed-password: Internal generic functions
get-id: Internal generic functions
get-id: Internal generic functions
get-password-reset-token: Exported generic functions
get-password-reset-token: Exported generic functions
get-password-reset-token: Exported generic functions
get-pepper: Internal generic functions
get-pepper: Internal generic functions
get-reset-token: Internal generic functions
get-reset-token: Internal generic functions
get-reset-token: Internal generic functions
get-salt: Internal generic functions
get-salt: Internal generic functions
get-token-expiry: Internal generic functions
get-token-expiry: Internal generic functions
get-user-confirmation-token: Exported generic functions
get-user-confirmation-token: Exported generic functions
get-user-confirmation-token: Exported generic functions
get-user-token: Internal generic functions
get-user-token: Internal generic functions
get-user-token: Internal generic functions
get-user-token: Internal generic functions
get-user-token: Internal generic functions
get-user-token: Internal generic functions
get-user-token: Internal generic functions
get-user-token: Internal generic functions
get-view-class-name: Internal generic functions
get-view-class-name: Internal generic functions

M
Macro, with-password-database: Exported macros
Macro, with-password-store: Exported macros
Method, (setf get-confirmation-token): Internal generic functions
Method, (setf get-confirmation-token): Internal generic functions
Method, (setf get-confirmation-token-expiry): Internal generic functions
Method, (setf get-db): Internal generic functions
Method, (setf get-expiry): Internal generic functions
Method, (setf get-expiry): Internal generic functions
Method, (setf get-hash): Internal generic functions
Method, (setf get-hashed-password): Internal generic functions
Method, (setf get-id): Internal generic functions
Method, (setf get-reset-token): Internal generic functions
Method, (setf get-reset-token): Internal generic functions
Method, (setf get-salt): Internal generic functions
Method, (setf get-token-expiry): Internal generic functions
Method, (setf get-user-token): Internal generic functions
Method, (setf get-user-token): Internal generic functions
Method, (setf get-user-token): Internal generic functions
Method, (setf get-user-token): Internal generic functions
Method, (setf get-user-token): Internal generic functions
Method, (setf get-user-token): Internal generic functions
Method, (setf get-view-class-name): Internal generic functions
Method, add-user: Internal generic functions
Method, all-users: Exported generic functions
Method, authenticate-user: Exported generic functions
Method, authenticate-user: Exported generic functions
Method, clear-password-reset-token: Internal generic functions
Method, clear-password-reset-token: Internal generic functions
Method, clear-password-reset-token: Internal generic functions
Method, compute-password-hash: Internal generic functions
Method, compute-password-hash: Internal generic functions
Method, confirm-registration: Exported generic functions
Method, confirm-registration: Exported generic functions
Method, delete-user: Exported generic functions
Method, delete-user: Exported generic functions
Method, get-confirmation-token: Internal generic functions
Method, get-confirmation-token: Internal generic functions
Method, get-confirmation-token-expiry: Internal generic functions
Method, get-db: Internal generic functions
Method, get-expiry: Internal generic functions
Method, get-expiry: Internal generic functions
Method, get-hash: Internal generic functions
Method, get-hashed-password: Internal generic functions
Method, get-id: Internal generic functions
Method, get-password-reset-token: Exported generic functions
Method, get-password-reset-token: Exported generic functions
Method, get-pepper: Internal generic functions
Method, get-reset-token: Internal generic functions
Method, get-reset-token: Internal generic functions
Method, get-salt: Internal generic functions
Method, get-token-expiry: Internal generic functions
Method, get-user-confirmation-token: Exported generic functions
Method, get-user-confirmation-token: Exported generic functions
Method, get-user-token: Internal generic functions
Method, get-user-token: Internal generic functions
Method, get-user-token: Internal generic functions
Method, get-user-token: Internal generic functions
Method, get-user-token: Internal generic functions
Method, get-user-token: Internal generic functions
Method, get-user-token: Internal generic functions
Method, get-view-class-name: Internal generic functions
Method, password-entry-schema-migration-handler: Internal generic functions
Method, pending-confirmationp: Exported generic functions
Method, pending-confirmationp: Exported generic functions
Method, pending-confirmationp: Exported generic functions
Method, register-user: Exported generic functions
Method, register-user: Exported generic functions
Method, reset-password: Exported generic functions
Method, reset-password: Exported generic functions
Method, user-knownp: Exported generic functions
Method, user-knownp: Exported generic functions
Method, user-token-id: Exported generic functions
Method, user-token-id: Exported generic functions

O
open-password-database: Exported functions
open-password-store: Exported functions

P
password-entry-schema-migration-handler: Internal generic functions
password-entry-schema-migration-handler: Internal generic functions
password-hash-equal: Internal functions
pending-confirmationp: Exported generic functions
pending-confirmationp: Exported generic functions
pending-confirmationp: Exported generic functions
pending-confirmationp: Exported generic functions

R
register-user: Exported generic functions
register-user: Exported generic functions
register-user: Exported generic functions
reset-password: Exported generic functions
reset-password: Exported generic functions
reset-password: Exported generic functions

T
token-equal: Internal functions

U
user-knownp: Exported generic functions
user-knownp: Exported generic functions
user-knownp: Exported generic functions
user-token-id: Exported generic functions
user-token-id: Exported generic functions
user-token-id: Exported generic functions

W
with-password-database: Exported macros
with-password-store: Exported macros

Jump to:   (  
A   C   D   E   F   G   M   O   P   R   T   U   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *   +  
C   D   E   H   I   P   R   S   T   U   V  
Index Entry  Section

*
*default-password-database*: Exported special variables
*default-password-hash*: Exported special variables
*default-password-store*: Exported special variables
*default-password-store-pepper*: Exported special variables
*default-token-validity*: Internal special variables

+
+token-bits+: Internal constants

C
confirmation-token: Exported conditions
confirmation-token: Exported classes
confirmation-token-expiry: Exported classes
Constant, +token-bits+: Internal constants

D
db: Exported classes

E
expiry: Exported conditions
expiry: Exported conditions

H
hash: Exported classes
hashed-password: Exported classes

I
id: Exported classes

P
pepper: Exported classes

R
reset-token: Exported conditions
reset-token: Exported classes

S
salt: Exported classes
Slot, confirmation-token: Exported conditions
Slot, confirmation-token: Exported classes
Slot, confirmation-token-expiry: Exported classes
Slot, db: Exported classes
Slot, expiry: Exported conditions
Slot, expiry: Exported conditions
Slot, hash: Exported classes
Slot, hashed-password: Exported classes
Slot, id: Exported classes
Slot, pepper: Exported classes
Slot, reset-token: Exported conditions
Slot, reset-token: Exported classes
Slot, salt: Exported classes
Slot, token-expiry: Exported classes
Slot, user-token: Exported conditions
Slot, user-token: Exported conditions
Slot, user-token: Exported conditions
Slot, user-token: Exported conditions
Slot, user-token: Exported conditions
Slot, user-token: Exported conditions
Slot, user-token: Exported classes
Slot, view-class-name: Exported classes
Special Variable, *default-password-database*: Exported special variables
Special Variable, *default-password-hash*: Exported special variables
Special Variable, *default-password-store*: Exported special variables
Special Variable, *default-password-store-pepper*: Exported special variables
Special Variable, *default-token-validity*: Internal special variables

T
token-expiry: Exported classes

U
user-token: Exported conditions
user-token: Exported conditions
user-token: Exported conditions
user-token: Exported conditions
user-token: Exported conditions
user-token: Exported conditions
user-token: Exported classes

V
view-class-name: Exported classes

Jump to:   *   +  
C   D   E   H   I   P   R   S   T   U   V  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   P   S   U  
Index Entry  Section

C
cl-password-store: The cl-password-store system
cl-password-store: The cl-password-store package
cl-password-store-condition: Internal conditions
cl-password-store-system: The cl-password-store-system package
Class, password-entry: Exported classes
Class, password-store: Exported classes
Class, user-token-mixin: Exported classes
Condition, cl-password-store-condition: Internal conditions
Condition, confirmation-token-expired: Exported conditions
Condition, confirmation-token-invalid: Exported conditions
Condition, password-token-expired: Exported conditions
Condition, password-token-invalid: Exported conditions
Condition, user-exists: Exported conditions
Condition, user-unknown: Exported conditions
confirmation-token-expired: Exported conditions
confirmation-token-invalid: Exported conditions

P
Package, cl-password-store: The cl-password-store package
Package, cl-password-store-system: The cl-password-store-system package
password-entry: Exported classes
password-store: Exported classes
password-token-expired: Exported conditions
password-token-invalid: Exported conditions

S
System, cl-password-store: The cl-password-store system

U
user-exists: Exported conditions
user-token-mixin: Exported classes
user-unknown: Exported conditions

Jump to:   C   P   S   U