critique of vibe.d

Nick Sabalausky via Digitalmars-d digitalmars-d at puremagic.com
Wed Jul 9 12:19:14 PDT 2014


On 7/9/2014 11:21 AM, Sönke Ludwig wrote:
> Am 09.07.2014 03:54, schrieb luminousone:
>> There is lots of missing little bits here and their, password hashing
>> functions that use crypt_(C) formated hashes.
>
> I was hoping for dauth [1] to fill that gap. It doesn't use the same
> format, but one with the same goal. I didn't actually try it out yet,
> though.
>

I admit I'm unfamiliar with this "crypt_(C) formated hashes", I'll look 
it up and try to support it. Anyone happen to have a link handy?

Also, if anyone has ANY issues/concerns/questions/anything about DAuth, 
PLEASE speak up or submit an issue at github. I want DAuth to work well 
for everyone :)

Speaking of DAuth future direction, I may as well mention this and open 
it for comment:

My plan ATM is to expand DAuth's scope a little, split it into about 
three main components (at different levels of abstraction) and rename to 
something less likely to be mistaken for an OAuth lib (DAuth is 
unrelated to OAuth).

I'm thinking of something like this:

"InstaUser Core": Basically what DAuth is now. Provides the two main 
primitives "Convert plaintext password to a salted hash" and "Validate 
plaintext password against a salted hash". Plus all the optional 
lower-level stuff like dealing with salts/hashes/etc directly, selecting 
hash algos directly, customized salted-hash formats, one-use tokens, etc.

"InstaUser Store": I've already started work on this locally. Basically 
a simple (compile-time, static linked) plugin architecture that provides 
basic user-management primitives (create user, change user's password, 
validate a password against a user, delete user, etc) with pluggable 
storage backends ("Stores") like MySQL. Various storage backends would 
be included.

"InstaUser Web": This would leverage vibe.d to provide an out-of-the-box 
working (and customizable) web-based register/login system. I expect 
that some applications may (or might not) outgrow this, but I think it 
would be fantastic for getting a login-based site off the ground and 
up-and-running. Or even just putting files (like webalyzer stats) behind 
a login that isn't "HTTP auth". I've written/maintained sooo many web 
login systems over the years I've gotten sick of reimplementing sooo 
many of the same things every time and backporting all newer 
improvements (Which is really the whole original reason I started DAuth 
in the first place).

An application can use *just* Core and omit the Store/Web stuff 
entirely. Or they can use it at the Store level. Or at the Web level. Or 
make direct use of all the levels.

Further in the future, "InstaUser" could possibly grow support for the 
"login in via Facebook/Gmail/OpenID/whatever" that seems to be popular 
now, or whatever other authentication systems may be useful.

"Destroy!"

>
> [1]: http://code.dlang.org/packages/dauth



More information about the Digitalmars-d mailing list