# Authentication Provider

## Classes
struct | rampart_authn_provider_ops
struct | rampart_authn_provider
## Typedefs
typedef enum rampart_authn_provider_status | rampart_authn_provider_status_t
## Enumerations
enum | rampart_authn_provider_status { RAMPART_AUTHN_PROVIDER_DENIED = 0, RAMPART_AUTHN_PROVIDER_GRANTED, RAMPART_AUTHN_PROVIDER_FOUND, RAMPART_AUTHN_PROVIDER_USER_FOUND, RAMPART_AUTHN_PROVIDER_USER_NOT_FOUND, RAMPART_AUTHN_PROVIDER_GENERAL_ERROR }
## Variables
rampart_authn_provider_status_t(* | rampart_authn_provider_ops::rampart_authn_provider_check_password_digest )(rampart_authn_provider_t *authn_provider, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, const axis2_char_t *username, const axis2_char_t *nonce, const axis2_char_t *created, const char *digest)
axis2_status_t(* | rampart_authn_provider_ops::free )(rampart_authn_provider_t *authn_provider, const axutil_env_t *env)
axutil_param_t * | rampart_authn_provider::param

## Define Documentation

#define RAMPART_AUTHN_PROVIDER_CHECK_PASSWORD | ( | authn_provider,
|  | env,
|  | msg_ctx,
|  | username,
|  | password |  | ) |

Value:

    ((authn_provider)->ops->rampart_authn_provider_check_password( \
                authn_provider, env, msg_ctx, username, password))

#define RAMPART_AUTHN_PROVIDER_CHECK_PASSWORD_DIGEST | ( | authn_provider,
|  | env,
|  | msg_ctx,
|  | username,
|  | nonce,
|  | nonce_length,
|  | digest |  | ) |

Value:

    ((authn_provider)->ops->rampart_authn_provider_check_password_digest( \
                authn_provider, env, msg_ctx, username, nonce, nonce_length, digest))

## Typedef Documentation

typedef struct rampart_authn_provider_ops rampart_authn_provider_ops_t

Struct to authenticate username/password pair

## Variable Documentation

axis2_status_t( * rampart_authn_provider_ops::free)(rampart_authn_provider_t *authn_provider, const axutil_env_t *env)`[inherited]`

The free function to free all resources allocated

Parameters:

  | authn_provider | the authentication provider struct
  | env | pointer to environment struct

Returns:
  AXIS2_SUCCESS on success. AXIS2_FAILURE otherwise.

rampart_authn_provider_status_t( * rampart_authn_provider_ops::rampart_authn_provider_check_password_digest)(rampart_authn_provider_t *authn_provider, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, const axis2_char_t *username, const axis2_char_t *nonce, const axis2_char_t *created, const char *digest)`[inherited]`

Check digested passwords. If the UseranmeToken is in password digest form this function will be called.

Parameters:

  | authn_provider | the authentication provider struct
  | env | pointer to environment struct
  | msg_ctx | message context
  | username | the username
  | nonce | the nonce or the random value of the username token
  | created | the created value of the username token
  | digest | the digest value of the SHA-1(password+created+nonce)

Returns:
  the status of the check