Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
KHTTPBASIC_VALIDATE(3)	     Library Functions Manual	  KHTTPBASIC_VALIDATE(3)

NAME
     khttpbasic_validate -- validate an HTTP basic authorisation request

LIBRARY
     libkcgi

SYNOPSIS
     #include <sys/types.h>
     #include <stdarg.h>
     #include <stdint.h>
     #include <kcgi.h>

     int
     khttpbasic_validate(struct kreq *req, const char *user,
	 const char *password);

DESCRIPTION
     The  khttpbasic_validate()  function  validates the given user and password
     with the HTTP "basic" or "bearer" authorised request  req	as  returned  by
     khttp_parse(3) or khttp_fcgi_parse(3).

     In  both  cases,  the request is validated by base64-encoding user:password
     and comparing it to the given token.

RETURN VALUES
     khttpbasic_validate() will return zero if validation failed, less than zero
     if the request was not properly set up for HTTP basic or bearer  validation
     (no  HTTP	method, not a basic or bearer request, not already authenticated
     by the web server), or greater than zero if the validation succeeded.

EXAMPLES
     In the following fragment, assume r a pointer to a struct kreq successfully
     initialised by khttp_parse(3).  If validation is not provided,  it  returns
     an  HTTP  401.  The expected principle is "james", password "bond".  Other-
     wise, it returns an HTTP 200.

	   if (khttpbasic_validate(r, "james", "bond") <= 0) {
	     khttp_head(r, kresps[KRESP_STATUS],
	       "%s", khttps[KHTTP_401]);
	     khttp_head(r, kresps[KRESP_WWW_AUTHENTICATE],
	       "basic realm=\"%s\"", "some realm");
	   } else
	     khttp_head(r, kresps[KRESP_STATUS],
	       "%s", khttps[KHTTP_200]);

SEE ALSO
     kcgi(3), khttp_fcgi_parse(3), khttp_parse(3), khttpdigest_validate(3)

AUTHORS
     Written by Kristaps Dzonsons <kristaps@bsd.lv>.

FreeBSD ports 15.quarterly	   $Mdocdate$		  KHTTPBASIC_VALIDATE(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=khttpbasic_validate&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help