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
       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  valida-
       tion succeeded.

EXAMPLES
       In the following	fragment, assume r a pointer to	a struct kreq success-
       fully initialised by khttp_parse(3).  If	validation is not provided, it
       returns	an  HTTP  401.	 The  expected	principle is "james", password
       "bond".	Otherwise, 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 14.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+14.3.quarterly>

home | help