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