Members
-
client
-
client config properties: - username : string || function(config) { return string || promise } + if missing, CONTINUE - authzid : string || function(config, username) { return string || promise } + if missing, CONTINUE - password : string || function(config, username) { return string || promise } + if missing, CONTINUE
-
client
-
client config properties: - username : string || function(config) { return string || promise } + if missing, CONTINUE - nonce : string || function(config, username) { return string || promise } + if missing, generate random then CONTINUE - authzid : string || function(config, username, salt, iterations) { return string || promise } + if missing, CONTINUE - password : string || function(config, username) { return string || promise } + if missing, CONTINUE
-
server
-
server config properties: - username : string || function(config) { return string || promise } + if missing, CONTINUE + if present, input value MUST match (or FAIL) - authenticate : function(config, username, password) { return boolean || promise } + if missing, CONTINUE + if present, true == SUCCEED, false == FAIL - password : string || function(config, username) { return string || promise } + if missing, password == "" and CONTINUE (see below) - prf : string || function(config, username) { return string || promise } + if missing, prf == "sha1" and CONTINUE - salt : string || function(config, username) + if missing, salt == predetermined value and CONTINUE - iterations : number || function(config, username) { return number || promise } + if missing, iterations == 4096 and CONTINUE - derivedKey : string || function(confing, username) { return string || promise } + if missing, derivedKey == PBKDF2(prf, password, salt, iterations, len(prf)) + compared against client-supplied password by computing derivedKey - authorize : function(config, username, authzid) { return boolean || promise } + if missing, then + if authzid missing, SUCCEED + if authzid matches username, SUCCEED + else FAIL + if present; true == SUCCEED, false == FAIL
-
server
-
server config properties: - username : string || function(config) { return string || promise } + if missing, CONTINUE + if present, input value MUST match (or FAIL) - nonce : string || function(config, username) { return string || promise } + if missing, generate random then CONTINUE - iterations : integer || function(config, username) { return integer || promise } + if missing, default to 4096 then CONTINUE - salt : string || function(config, username) { return string || promise } + if missing, generate random then CONTINUE !! NOTE: string is expected to be binary, NOT base64 - derivedKey : string || function(config, username) { return string || promise } + if missing, then CONTINUE + if present, use instead of "password" - password : string || function(config, username) { return string || promise } + if missing, input value MUST be "" (or FAIL) + if present, input value MUST match (or FAIL) - authorize : function(config, username, authzid) { return boolean || promise } + if missing, then + if authzid missing, SUCCEED + if authzid matches username, SUCCEED + else FAIL + if present; true == SUCCEED, false == FAIL