Implemented cookie-based authentication to the API.
Created timestamper module to start the application.
Added cookie-based authentication to ts_api.
Added utility methods to ts_api:
* make_json_400/1 and make_json_400/1
* make_json_401/1 and make_json_401/2
* parse_json_body/1 reads a JSON object from a HTTP request body.
Implemented ts_api_session module to manage api user sessions.
Fixed ts_entry:list* methods to be 0-indexed.
Removed the ts_json:ejson_to_record/1 implementation for ts_user records.
Decided that ts_user records are never trusted from the client,
manipulation of fields such as pwd, username will be restricted to
app pages.
Changed the password hashing algorithm. Now uses SHA1(pwd + 256bit salt).
Want to use bcrypt, investingating cross-platform bcrypt implementation.
Fixed yaws.conf config file.
This commit is contained in:
16
src/timestamper.erl
Normal file
16
src/timestamper.erl
Normal file
@@ -0,0 +1,16 @@
|
||||
-module(timestamper).
|
||||
-export([start/0, create_tables/1]).
|
||||
|
||||
start() ->
|
||||
ok = application:load(mnesia),
|
||||
ok = application:set_env(mnesia, dir, "/home/jdbernard/projects/timestamper/web-app/db/test"),
|
||||
ok = mnesia:start(),
|
||||
ok.
|
||||
|
||||
create_tables(Nodes) ->
|
||||
TableOpts = [{disc_copies, Nodes}],
|
||||
{atomic, ok} = id_counter:create_table(TableOpts),
|
||||
{atomic, ok} = ts_user:create_table(TableOpts),
|
||||
{atomic, ok} = ts_timeline:create_table(TableOpts),
|
||||
{atmoic, ok} = ts_entry:create_table(TableOpts),
|
||||
ok.
|
||||
Reference in New Issue
Block a user