Adding the new login way for tip

This commit is contained in:
stephb9959
2021-02-02 20:36:19 -08:00
parent 311d2ed2b4
commit a34bef2099
4 changed files with 29 additions and 11 deletions

View File

@@ -36,7 +36,7 @@ docker run -d -p 9091:9090 --init \
--network=owls_net \ --network=owls_net \
--volume="$PWD/ssl:/etc/ssl/certs" \ --volume="$PWD/ssl:/etc/ssl/certs" \
--volume="$PWD/docker_logs_manager:/app_data/logs" \ --volume="$PWD/docker_logs_manager:/app_data/logs" \
-e ERL_NODE_NAME="mgr@mgr.owls.net" -e ERL_OPTIONS="-noshell -noinput" -e ERL_NODE_TYPE="manager" \ -e ERL_NODE_NAME="mgr@mgr.owls.net" -e ERL_OPTIONS="-noshell -noinput" -e ERL_NODE_TYPE="manager" -e TIP_AUTH="2" \
--ip="172.21.10.2" $HOSTNAMES \ --ip="172.21.10.2" $HOSTNAMES \
--name="manager" $DOCKER_NAME --name="manager" $DOCKER_NAME
@@ -44,7 +44,7 @@ docker run -d --init \
--network=owls_net \ --network=owls_net \
--volume="$PWD/ssl:/etc/ssl/certs" \ --volume="$PWD/ssl:/etc/ssl/certs" \
--volume="$PWD/docker_logs_node1:/app_data/logs" \ --volume="$PWD/docker_logs_node1:/app_data/logs" \
-e ERL_NODE_NAME="node1@mgr.owls.net" -e ERL_OPTIONS="-noshell -noinput" -e ERL_NODE_TYPE="node" \ -e ERL_NODE_NAME="node1@mgr.owls.net" -e ERL_OPTIONS="-noshell -noinput" -e ERL_NODE_TYPE="node" -e TIP_AUTH="2" \
--ip="172.21.10.3" $HOSTNAMES \ --ip="172.21.10.3" $HOSTNAMES \
--name="node1" $DOCKER_NAME --name="node1" $DOCKER_NAME

View File

@@ -6,17 +6,17 @@ case $ERL_NODE_TYPE in
manager) manager)
cp priv/templates/simmanager.args.template.docker config/vm.args cp priv/templates/simmanager.args.template.docker config/vm.args
cp priv/templates/simmanager.config.template.docker config/sys.config cp priv/templates/simmanager.config.template.docker config/sys.config
erl -config config/sys.config -args_file config/vm.args -name $ERL_NODE_NAME $ERL_OPTIONS -pa deps/*/ebin -pa ebin erl -config config/sys.config -args_file config/vm.args -name $ERL_NODE_NAME $ERL_OPTIONS -pa deps/*/ebin -pa ebin -tipauth $TIP_AUTH
;; ;;
node) node)
cp priv/templates/simnode.args.template.docker config/vm.args cp priv/templates/simnode.args.template.docker config/vm.args
cp priv/templates/simnode.config.template.docker config/sys.config cp priv/templates/simnode.config.template.docker config/sys.config
erl -config config/sys.config -args_file config/vm.args -name $ERL_NODE_NAME $ERL_OPTIONS -pa deps/*/ebin -pa ebin erl -config config/sys.config -args_file config/vm.args -name $ERL_NODE_NAME $ERL_OPTIONS -pa deps/*/ebin -pa ebin -tipauth $TIP_AUTH
;; ;;
monitor) monitor)
cp priv/templates/simmonitor.args.template.docker config/vm.args cp priv/templates/simmonitor.args.template.docker config/vm.args
cp priv/templates/simmonitor.config.template.docker config/sys.config cp priv/templates/simmonitor.config.template.docker config/sys.config
erl -config config/sys.config -args_file config/vm.args -name $ERL_NODE_NAME $ERL_OPTIONS -pa deps/*/ebin -pa ebin erl -config config/sys.config -args_file config/vm.args -name $ERL_NODE_NAME $ERL_OPTIONS -pa deps/*/ebin -pa ebin -tipauth $TIP_AUTH
;; ;;
esac esac

View File

@@ -15,21 +15,39 @@
-export([login/1,tip_locations/0,clients/0,equipments/0,client_ids/0,client_ids_for_equipment/1,equipment_ids/0, -export([login/1,tip_locations/0,clients/0,equipments/0,client_ids/0,client_ids_for_equipment/1,equipment_ids/0,
client_macs_for_equipment/1]). client_macs_for_equipment/1]).
loginEndpoint() ->
case init:get_argument(tipauth) of
{ok,[["1"]]} ->
"/management/v1/oauth2/token";
{ok,[["2"]]} ->
" /management/cmap/oauth2/token";
_ ->
"/management/v1/oauth2/token"
end.
loginUserAndPassword() ->
case init:get_argument(tipauth) of
{ok,[["1"]]} ->
<<"{ \"userId\": \"support@example.com\", \"password\": \"support\" }">>;
{ok,[["2"]]} ->
<<"{ \"userId\": \"support@example.com\", \"password\": \"Support!\" }">>;
_ ->
<<"{ \"userId\": \"support@example.com\", \"password\": \"support\" }">>
end.
login(SimName)-> login(SimName)->
_=inets:start(), _=inets:start(),
try try
{ok,Sim} = simengine:get(SimName), {ok,Sim} = simengine:get(SimName),
% io:format("Trying to log into: ~p...~n",[Sim#simulation.opensync_server_name]),
ServerName = binary_to_list(Sim#simulation.opensync_server_name), ServerName = binary_to_list(Sim#simulation.opensync_server_name),
LoginURIBase = "https://" ++ ServerName ++ ":" ++ integer_to_list(9051), LoginURIBase = "https://" ++ ServerName ++ ":" ++ integer_to_list(9051),
LoginURI = LoginURIBase ++ "/management/v1/oauth2/token", LoginURI = LoginURIBase ++ loginEndpoint(),
LoginPassword = <<"{ \"userId\": \"support@example.com\", \"password\": \"support\" }">>, LoginPassword = loginUserAndPassword(),
{ ok, { {_,200,_},_Headers,Body}} = httpc:request(post, {LoginURI, [],["application/json"],LoginPassword}, [], []), { ok, { {_,200,_},_Headers,Body}} = httpc:request(post, {LoginURI, [],["application/json"],LoginPassword}, [], []),
Map = jiffy:decode(Body,[return_maps]), Map = jiffy:decode(Body,[return_maps]),
%% io:format("R=~p ~p~n",[ResultCode,Map]),
persistent_term:put(tip_access_token,binary_to_list(maps:get(<<"access_token">>,Map))), persistent_term:put(tip_access_token,binary_to_list(maps:get(<<"access_token">>,Map))),
persistent_term:put(tip_uri_base,LoginURIBase), persistent_term:put(tip_uri_base,LoginURIBase),
%% io:format("TIP Logged in.~n"), ?L_I("TIP Logged in.~n"),
ok ok
catch catch
_:_ -> _:_ ->

View File

@@ -1,3 +1,3 @@
#!/bin/sh #!/bin/sh
erl -config config/sys.config -args_file config/vm.args -pa deps/*/ebin -pa ebin erl -config config/sys.config -args_file config/vm.args -pa deps/*/ebin -pa ebin -tipauth 1