CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Sun, 17 Aug 2025 23:03:14 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20100612225818
location: https://web.archive.org/web/20100612225818/https://github.com/developmentseed/keyauth
server-timing: captures_list;dur=0.853656, exclusion.robots;dur=0.031618, exclusion.robots.policy;dur=0.013696, esindex;dur=0.018202, cdx.remote;dur=19.649411, LoadShardBlock;dur=328.588514, PetaboxLoader3.datanode;dur=85.393002, PetaboxLoader3.resolve;dur=75.819008
x-app-server: wwwb-app213
x-ts: 302
x-tr: 446
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app213; 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, 17 Aug 2025 23:03:15 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.7.61
x-archive-orig-date: Sat, 12 Jun 2010 22:58:17 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-etag: "c037b7eee272216fc19941b8375789d9"
x-archive-orig-x-runtime: 32ms
x-archive-orig-content-length: 25173
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, 12 Jun 2010 22:58:18 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Sat, 12 Jun 2010 22:58:18 GMT", ; rel="memento"; datetime="Sat, 12 Jun 2010 22:58:18 GMT", ; rel="next memento"; datetime="Mon, 11 Jun 2018 02:40:13 GMT", ; rel="last memento"; datetime="Sat, 31 Oct 2020 20:44:55 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: 51_16_20100612211411_crawl102-c/51_16_20100612225434_crawl101.arc.gz
server-timing: captures_list;dur=4.037652, exclusion.robots;dur=0.019055, exclusion.robots.policy;dur=0.009425, esindex;dur=0.010926, cdx.remote;dur=13.384119, LoadShardBlock;dur=208.292305, PetaboxLoader3.datanode;dur=75.371064, PetaboxLoader3.resolve;dur=244.229009, load_resource;dur=136.985123
x-app-server: wwwb-app213
x-ts: 200
x-tr: 419
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
developmentseed's keyauth at master - GitHub
developmentseed / keyauth forked from lxbarth/KeyAuth
- Source
- Commits
- Network (2)
- Graphs
-
Branch:
master
click here to add a description
click here to add a homepage
Sending Request…
Provides an API and a basic UI for key based authentication. Modeled after services_keyauth module. — Read more
keyauth /
name | age | message | |
---|---|---|---|
![]() |
KeyAuthHTTPFetcher.inc | Tue Mar 02 15:54:59 -0800 2010 | Updating keyauth [yhahn] |
![]() |
README.txt | Tue Mar 02 08:44:51 -0800 2010 | Merging changes from keyauth in OSSO profile. [yhahn] |
![]() |
keyauth.admin.inc | Wed Feb 03 12:44:19 -0800 2010 | Initial commit. [Alex Barth] |
![]() |
keyauth.inc | Tue Mar 02 08:44:51 -0800 2010 | Merging changes from keyauth in OSSO profile. [yhahn] |
![]() |
keyauth.info | Wed Feb 03 12:44:19 -0800 2010 | Initial commit. [Alex Barth] |
![]() |
keyauth.install | Wed Feb 03 12:44:19 -0800 2010 | Initial commit. [Alex Barth] |
![]() |
keyauth.js | Tue Mar 02 08:44:51 -0800 2010 | Merging changes from keyauth in OSSO profile. [yhahn] |
![]() |
keyauth.module | Tue Mar 02 15:54:59 -0800 2010 | Updating keyauth [yhahn] |
![]() |
tests/ | Wed Feb 03 12:44:19 -0800 2010 | Initial commit. [Alex Barth] |
README.txt
KeyAuth ------- Provides an API and a basic UI for key based authentication. Modeled after services_keyauth module. 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)); }