Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Walletconnect Docs | 295 | 16 hours ago | 70 | mit | JavaScript | |||||
WalletConnect Documentation | ||||||||||
Setup Simple Openvpn | 178 | 7 years ago | 2 | other | Shell | |||||
Setup Simple OpenVPN server for Linux | ||||||||||
Cli | 126 | a year ago | December 01, 2021 | mit | PHP | |||||
⚙️ Web3 PHP CLI is a blazing fast blockchain server for local development. | ||||||||||
Faast Web | 106 | a year ago | 15 | mit | JavaScript | |||||
A decentralized cryptocurrency portfolio manager and exchange | ||||||||||
Name Bazaar | 90 | 6 months ago | 21 | epl-1.0 | JavaScript | |||||
A peer-to-peer marketplace for the exchange of names registered via the Ethereum Name Service | ||||||||||
Blockchainc2 | 60 | 4 years ago | 1 | Go | ||||||
A POC C2 server and agent to explore just if/how the Ethereum blockchain can be used for C2 | ||||||||||
Ethereum Visualization | 50 | 4 years ago | JavaScript | |||||||
A graphical explorer for the Ethereum Blockchain | ||||||||||
Dauth | 41 | 5 years ago | 2 | JavaScript | ||||||
A decentralized alternative to OAuth | ||||||||||
Gethexporter | 31 | 4 years ago | May 27, 2021 | 2 | Go | |||||
Monitor your Geth Ethereum Server with Prometheus and Grafana | ||||||||||
Trusat Backend | 31 | 3 years ago | 35 | apache-2.0 | Python | |||||
DAuth is a simple decentralized authentication system tied to identities on the Ethereum Blockchain.
Your server should expose one endpoint on to which the users will send login requests. The endpoint must
dauth.co
or any other server of your choicecode
, codehash
, username
, cipher
. The POST request will respond with the decipherd value using the user's private key.npm install dauth-verifier
const dauth = require('node-dauth-verifier');
router.get("/", function(req, res, next){
dauth.verify(req.query.username, req.query.code, req.query.hashcode).then(function(data){
console.log("Login successful");
// ... Logic for successful login ...
}).catch(function(error){
console.log("Login Failed");
// ... Logid for failed login here ...
});
});
For more details on the npm package visit the node-dauth-verifier repository
var BASE_URL = "https://dauth.co/";
var axios = require('axios');
var crypto = require('crypto');
var cryptico = require('cryptico');
router.get("/", function(req, res, next){
var username = req.query.username;
var code = req.query.code;
var hashcode = req.query.hashcode;
var urlGetter = BASE_URL + "utils/url?username="+username;
var addressGetter = BASE_URL + "utils/address?username="+username;
var keyGetter = BASE_URL + "utils/key?username="+username;
axios.get(urlGetter).then(function(aUrl){
axios.get(keyGetter).then(function(aKey){
var tokenRaw = crypto.createHash('sha256').update(Math.random().toString()).digest('base64').substr(0,10);
var encrypted = cryptico.encrypt(tokenRaw, aKey.data, "").cipher;
axios.post(aUrl.data+"?action=verify", {username:username,code:code, hashcode:hashcode, cipher: encrypted}).then(function(decrypted){
if(decrypted.data == tokenRaw){
axios.get(addressGetter).then(function(address){
//redirect to success page
}).catch(function(error){
//redirect to login failed page
});
return;
}
//redirect to login failed page
});
}).catch(function(error){
//redirect to login failed page
});
}).catch(function(error){
//redirect to login failed page
});
});
Generate the widget using this link
http://dauth.co
. The DAuth Server consists of a DAuth Login Page and a DAuth Handler.DAuth_Server_Location?action=verify
DAuth_Server_Location?action=login
https://dauth.co/utils/address?username=[PUT USERNAME HERE]
: gives the Ethereum address that has been associated with the given username
http://dauth.co/utils/key?username=[PUT USERNAME HERE]
: gives the Public Key that has been associated with the given username
http://dauth.co/utils/url?username=[PUT USERNAME HERE]
: gives the address of the DAuth Server. DAuth Handler and DAuth Login page urls may be constructed using this address as mentioned above.