CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Sun, 10 Aug 2025 10:55:38 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20100227150326
location: https://web.archive.org/web/20100227150326/https://github.com/lxbarth/KeyAuth
server-timing: captures_list;dur=0.552157, exclusion.robots;dur=0.018824, exclusion.robots.policy;dur=0.008669, esindex;dur=0.010353, cdx.remote;dur=361.325487, LoadShardBlock;dur=289.164921, PetaboxLoader3.datanode;dur=76.741956, PetaboxLoader3.resolve;dur=67.413362
x-app-server: wwwb-app214
x-ts: 302
x-tr: 680
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app214; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Sun, 10 Aug 2025 10:55:40 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.7.61
x-archive-orig-date: Sat, 27 Feb 2010 15:03:20 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-etag: "e444e39f1bdbafbfffb760d872944a06"
x-archive-orig-x-runtime: 151ms
x-archive-orig-content-length: 22518
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Sat, 27 Feb 2010 15:03:26 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Sat, 27 Feb 2010 15:03:26 GMT", ; rel="memento"; datetime="Sat, 27 Feb 2010 15:03:26 GMT", ; rel="next memento"; datetime="Mon, 07 Jun 2010 04:00:28 GMT", ; rel="last memento"; datetime="Mon, 07 Jun 2021 19:43:40 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_14_20100227103913_crawl103-c/52_14_20100227150244_crawl101.arc.gz
server-timing: captures_list;dur=0.515008, exclusion.robots;dur=0.018014, exclusion.robots.policy;dur=0.008175, esindex;dur=0.012567, cdx.remote;dur=1176.554222, LoadShardBlock;dur=212.819338, PetaboxLoader3.datanode;dur=141.730638, PetaboxLoader3.resolve;dur=246.612241, load_resource;dur=225.936903
x-app-server: wwwb-app214
x-ts: 200
x-tr: 1666
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
lxbarth's KeyAuth at master - GitHub
This service is courtesy of Pledgie.
lxbarth / KeyAuth
- Source
- Commits
- Network (1)
- Issues (1)
- Downloads (0)
- Wiki (1)
- Graphs
-
Branch:
master
click here to add a description
click here to add a homepage
Sending Request…
Enable Donations
Pledgie Donations
Once activated, we'll place the following badge in your repository's detail box:
Provides an API and a basic UI for key based authentication. Modeled after services_keyauth module. — Read more

Jose (author)
Thu Feb 04 04:54:00 -0800 2010
KeyAuth /
name | age | message | |
---|---|---|---|
![]() |
README.txt | Loading commit data... ![]() |
|
![]() |
keyauth.admin.inc | ||
![]() |
keyauth.inc | ||
![]() |
keyauth.info | ||
![]() |
keyauth.install | ||
![]() |
keyauth.module | ||
![]() |
tests/ |
README.txt
KeyAuth ------- Provides an API and a basic UI for key based authentication. Modeled after services_keyauth module. Requirements ------------ CTools https://drupal.org/project/ctools PHP 5.2.x Installation ------------ Install module, go to admin/build/keys and create a new key or add an existing key. Basic usage ----------- 1) Generate a key through UI or through calling keyauth_save() keyauth_include(); $key = keyauth_insert('Test key'); 2) Sign a message keyauth_include(); list($nonce, $timestamp, $hash) = keyauth_sign($key['public_key'], 'Lorem ipsum'); 3) Verify a message keyauth_include(); $verified = keyauth_verify($key['public_key'], 'Lorem ipsum', $nonce, $timestamp, $hash); Sign URLs --------- Key Authentication module comes with helper functions to sign URLs: keyauth_include(); $signed = keyauth_sign_url($key['public_key'], 'https://example.com'); $verified = keyauth_verify_url($key['public_key'], $signed); "Real world" example -------------------- 1) Set up Key Authorization on two Drupal sites, create a new key on one of the sites and add the same key (public key and private key) to the other site. 2) Create a module 'myresource' that exposes a path that should be protected, use keyauth_verify_url in the path's access check. Enable the module on one of the sites. /** * Access callback for protected resource URLs. */ function myresource_access() { keyauth_include(); return keyauth_verify_url($_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']); } 3) Create a module 'myconsumer' that pulls the protected path of 'myresource' using drupal_http_request() and keyauth_sign(). Enable myconsumer on the site where you have not enabled myresources module. /** * Download URL, authenticate with Key Authentication module. * 7fb5490cce31840608ec635a931c00aa is the shared public key. */ function myconsumer_request($url) { return drupal_http_request(keyauth_sign_url('7fb5490cce31840608ec635a931c00aa', $url)); }