| PAM_GET_AUTHTOK(3) | Library Functions Manual | PAM_GET_AUTHTOK(3) |
pam_get_authtok —
retrieve authentication token
#include
<sys/types.h>
#include
<security/pam_appl.h>
int
pam_get_authtok(pam_handle_t
*pamh, int item,
const char **authtok,
const char *prompt);
The
pam_get_authtok()
function either prompts the user for an authentication token or retrieves a
cached authentication token, depending on circumstances. Either way, a
pointer to the authentication token is stored in the location pointed to by
the authtok argument, and the corresponding PAM item
is updated.
The item argument must have one of the following values:
PAM_AUTHTOKPAM_OLDAUTHTOKThe prompt argument
specifies a prompt to use if no token is cached. If it is
NULL, the PAM_AUTHTOK_PROMPT
or PAM_OLDAUTHTOK_PROMPT item, as appropriate, will
be used. If that item is also NULL, a hardcoded
default prompt will be used. Additionally, when
pam_get_authtok()
is called from a service module, the prompt may be affected by module
options as described below. The prompt is then expanded using
openpam_subst(3) before
it is passed to the conversation function.
If item is set to
PAM_AUTHTOK and there is a non-null
PAM_OLDAUTHTOK item,
pam_get_authtok()
will ask the user to confirm the new token by retyping it. If there is a
mismatch, pam_get_authtok() will return
PAM_TRY_AGAIN.
When called by a service module,
pam_get_authtok() will recognize the following
module options:
authtok_promptPAM_AUTHTOK. This option overrides both the
prompt argument and the
PAM_AUTHTOK_PROMPT item.echo_passoldauthtok_promptPAM_OLDAUTHTOK. This option overrides both the
prompt argument and the
PAM_OLDAUTHTOK_PROMPT item.try_first_passpam_get_authtok() a second time.use_first_passPAM_AUTH_ERR if there is none.The pam_get_authtok() function returns one
of the following values:
PAM_SUCCESS]PAM_BAD_CONSTANT]PAM_BAD_ITEM]PAM_BUF_ERR]PAM_CONV_ERR]PAM_SYSTEM_ERR]PAM_TRY_AGAIN]openpam_get_option(3), openpam_subst(3), pam(3), pam_conv(3), pam_get_item(3), pam_get_user(3), pam_strerror(3)
The pam_get_authtok() function is an
OpenPAM extension.
The pam_get_authtok() function and this
manual page were developed for the FreeBSD Project
by ThinkSec AS and Network Associates Laboratories, the Security Research
Division of Network Associates, Inc. under DARPA/SPAWAR contract
N66001-01-C-8035 (“CBOSS”), as part of the DARPA CHATS
research program.
The OpenPAM library is maintained by Dag-Erling Smørgrav <des@des.no>.
| June 27, 2023 | NetBSD 11.0 |