store-procs.tcl

Support for WebAuthn/FIDO2

This file defines the following Objects and Classes: ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i], ::xo::WebAuthnStore::Cache[i]

Location:
packages/webauthn/tcl/store-procs.tcl

Procedures in this file

Detailed information

Class ::xo::WebAuthnStore::Cache (public)

 ::nx::Class ::xo::WebAuthnStore::Cache[i]

Cache for "ceremony" state (challenge, origin, rpId, return_url)

Testcases:
No testcase defined.

xo::WebAuthnStore::Cache object method get (public)

 xo::WebAuthnStore::Cache[i] get key
Parameters:
key (required)

Testcases:
No testcase defined.

xo::WebAuthnStore::Cache object method keys (public)

 xo::WebAuthnStore::Cache[i] keys

Testcases:
No testcase defined.

xo::WebAuthnStore::Cache object method set (public)

 xo::WebAuthnStore::Cache[i] set [ -expires expires ] key dict
Switches:
-expires (optional, defaults to "5m")
Parameters:
key (required)
dict (required)

Testcases:
No testcase defined.

xo::WebAuthnStore::Cache object method unset (public)

 xo::WebAuthnStore::Cache[i] unset key
Parameters:
key (required)

Testcases:
No testcase defined.
[ hide source ] | [ make this the default ]

Content File Source

::xo::library doc {
    Support for WebAuthn/FIDO2
}

nx::Class create ::xo::WebAuthnStore::Cache {
    #
    # Cache for "ceremony" state (challenge, origin, rpId, return_url)
    #
    set :cacheName webauth
    ns_cache_create ${:cacheName} 10000
    :public object method set {{-expires 5m} key dict} {
        ns_cache_eval -expires $expires -- ${:cacheName} $key {set dict} 
    }
    :public object method get {key} {
        ns_cache_get ${:cacheName} $key
    }
    :public object method unset {key} {
        ns_cache_flush ${:cacheName} $key
    }
    :public object method keys {} {
        ns_cache_keys ${:cacheName}
    }
}