ffb63be0ae
contain native as well as csharp components.
81 lines
2.9 KiB
Plaintext
81 lines
2.9 KiB
Plaintext
/***********************************************************************
|
|
*
|
|
* README for pam_casaauthtok
|
|
*
|
|
***********************************************************************/
|
|
|
|
INTRODUCTION
|
|
|
|
pam_casaauthtok is a PAM authentication module which can be configured
|
|
to validate credentials consisting of CASA Authentication Tokens.
|
|
|
|
CONFIGURATION
|
|
|
|
To use pam_casaauthtok as a PAM authentication module for your service,
|
|
add the following line to the service's PAM configuration file:
|
|
|
|
auth required pam_casaauthtok.so
|
|
|
|
pam_casaauthtok supports the following input parameters:
|
|
|
|
U - This parameter tells pam_casaauthtok that it must verify that
|
|
the username is set to "CasaPrincipal". If the parameter is not
|
|
specified then pam_casaauthtok does not check the username.
|
|
|
|
CLIENT PROGRAMMING NOTES
|
|
|
|
Clients must specify the same service name when requesting Authentication
|
|
Tokens from the CASA Client as the service name specified by the server
|
|
when opening a PAM handle.
|
|
|
|
SERVER PROGRAMMING NOTES
|
|
|
|
Server applications validating credentials containing CASA Authentication
|
|
tokens can obtain the following information about the authenticated identity:
|
|
|
|
username - This is obtained by querying PAM using the pam_get_item() call with
|
|
the item type set to PAM_USER. This can also be obtained by querying PAM
|
|
using the pam_getenv() call with the variable name set to "IdentityId". The
|
|
username is the user's unique id within the authentication realm. When the
|
|
authentication realm is an LDAP database, the username consists of the user's fdn.
|
|
Note that PAM applications using pam_casaauthtok need to set username to
|
|
"CasaPrincipal" when opening a PAM handle and then the variable is updated by
|
|
pam_casaauthtok during the authentication process with the identity information
|
|
of the authenticated entity.
|
|
|
|
Name of the source of identity data (Authentication Realm) - This is obtained
|
|
by querying PAM using the pam_getenv() call with the variable name set to
|
|
"IdentityDataSourceName".
|
|
|
|
URL to the source of identity data - This is obtained
|
|
by querying PAM using the pam_getenv() call with the variable name set to
|
|
"IdentityDataSourceUrl".
|
|
|
|
Attributes of the authenticated identity - The attributes are set as environment
|
|
variables associated with the PAM handle. The environment variable names match
|
|
the names of the attributes. The attributes associated with the authenticated
|
|
identity and expressed as environment variables are configured at the time that
|
|
the service is enabled for CASA Authentication.
|
|
|
|
EXAMPLE SERVER APPLICATION
|
|
|
|
See test/test.c for an example application using PAM to authenticate credentials
|
|
consisting of CASA Authentication Tokens.
|
|
|
|
SECURITY CONSIDERATIONS
|
|
|
|
CASA Authenticatication Tokens when compromised can be used to either impersonate
|
|
a user or to obtain identity information about the user. Because of this it is
|
|
important that the tokens be secured by applications making use of them. It is
|
|
recommended that the tokens be transmitted using SSL.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|