Class ::nsmcp::FileCredentials
::nsmcp::FileCredentials
create ... \
[ -authenticator:required authenticator:required ] \
[ -mutex mutex ] \
[ -section:required section:required ] \
[ -store:required store:required ]
Defined in /usr/local/ns/tcl/nsmcp/lib/credentials.tclClass Relations
- class: ::nx::Class
![[i]](/resources/acs-subsite/ZoomIn16.gif)
- superclass: ::nx::Object
![[i]](/resources/acs-subsite/ZoomIn16.gif)
::nx::Class create ::nsmcp::FileCredentials \
-superclass ::nx::Object
Methods (to be applied on instances)
describe (scripted, public)
<instance of nsmcp::FileCredentials
> describe
- Testcases:
-
No testcase defined.
ns_mutex lock ${:mutex}
try {return [:describeUnlocked]} finally {ns_mutex unlock ${:mutex}}load (scripted, public)
<instance of nsmcp::FileCredentials
> load name
- Parameters:
- name (required)
- Testcases:
-
No testcase defined.
ns_mutex lock ${:mutex}
try {
if {$name ni [:names]} {error "unknown configured credential name"}
set prepared [:prepare $name]
foreach other [nsv_array names ${:store}] {
if {$other ne $name && [dict get [nsv_get ${:store} $other] digest] eq [dict get $prepared digest]} {
error "configured credentials must use distinct tokens"
}
}
set previous {}
if {[nsv_exists ${:store} $name]} {set previous [dict get [nsv_get ${:store} $name] digest]}
set metadata [:publish $name $prepared]
if {$previous ne "" && $previous ne [dict get $prepared digest]} {${:authenticator} revoke $previous}
return $metadata
} finally {ns_mutex unlock ${:mutex}}loadAll (scripted, public)
<instance of nsmcp::FileCredentials
> loadAll
- Testcases:
-
No testcase defined.
ns_mutex lock ${:mutex}
try {
set staged {}; set digests {}
foreach name [:names] {
set prepared [:prepare $name]
set digest [dict get $prepared digest]
if {[dict exists $digests $digest]} {error "configured credentials must use distinct tokens"}
dict set digests $digest $name
dict set staged $name $prepared
}
foreach name [nsv_array names ${:store}] {
${:authenticator} revoke [dict get [nsv_get ${:store} $name] digest]
nsv_unset ${:store} $name
}
dict for {name prepared} $staged {:publish $name $prepared}
return [:describeUnlocked]
} finally {ns_mutex unlock ${:mutex}}revoke (scripted, public)
<instance of nsmcp::FileCredentials
> revoke name
- Parameters:
- name (required)
- Testcases:
-
No testcase defined.
ns_mutex lock ${:mutex}
try {
if {![nsv_exists ${:store} $name]} {error "unknown loaded credential name"}
${:authenticator} revoke [dict get [nsv_get ${:store} $name] digest]
} finally {ns_mutex unlock ${:mutex}}