ocw/code/common.sh

62 lines
1.9 KiB
Bash
Raw Normal View History

2020-09-19 17:21:38 +02:00
#!/bin/bash
# common.sh - common functions for OPS app
# get_auth_string()
function get_auth_string() {
2020-10-05 02:19:01 +02:00
if ! session_verify "${cookies[sh_session]}"; then
2020-09-19 17:21:38 +02:00
exit 0
fi
2020-09-19 20:49:44 +02:00
echo "Authorization: Bearer $(cat secret/authTokens.dat | grep "${cookies[sh_session]}:" | sed -s "s/${cookies[sh_session]}://")"
}
function get_refresh_token() {
2020-10-05 02:19:01 +02:00
if ! session_verify "${cookies[sh_session]}"; then
2020-09-19 20:49:44 +02:00
exit 0
fi
echo "$(cat secret/refreshTokens.dat | grep "${cookies[sh_session]}:" | sed -s "s/${cookies[sh_session]}://")"
2020-09-19 17:21:38 +02:00
}
# check_if_user_exists(file)
function check_if_user_exists() {
2020-10-05 02:19:01 +02:00
if ! session_verify "${cookies[sh_session]}"; then
exit 0
fi
2020-10-05 02:19:01 +02:00
[[ $1 == "refreshToken" ]] && [[ $(cat secret/refreshTokens.dat | grep "${cookies[sh_session]}:") != "" ]] && return 1
[[ $1 == "authToken" ]] && [[ $(cat secret/authTokens.dat | grep "${cookies[sh_session]}:") != "" ]] && return 1
return 0
}
2020-09-19 17:21:38 +02:00
# add_account_refreshtoken(refreshtoken)
function add_account_refreshtoken() {
2020-10-05 02:19:01 +02:00
if ! session_verify "${cookies[sh_session]}"; then
2020-09-19 17:21:38 +02:00
exit 0
fi
if check_if_user_exists refreshToken; then
2020-10-05 02:19:01 +02:00
echo "$(session_get_username ${cookies[sh_session]}):$1" >> secret/refreshTokens.dat
fi
2020-09-19 17:21:38 +02:00
}
# add_account_authtoken(authtoken)
function add_account_authtoken() {
2020-10-05 02:19:01 +02:00
if ! session_verify "${cookies[sh_session]}"; then
2020-09-19 17:21:38 +02:00
exit 0
fi
if check_if_user_exists authToken; then
2020-10-05 02:19:01 +02:00
echo "$(session_get_username ${cookies[sh_session]}):$1" >> secret/authTokens.dat
fi
2020-10-05 00:46:42 +02:00
}
2020-10-05 02:19:01 +02:00
# update_account_authtoken(username)
function update_account_authtoken() {
a=$(cat secret/refreshTokens.dat | grep -P "^$1\:")
token=$(awk -F: '{print $2}' <<< $a);
auth=$(curl -s -X POST -H "Content-type: application/json" --data '{"phoneOS": "Android", "refreshToken": "'"$token"'"}' https://api-inmobile-pl.easypack24.net/v1/authenticate | jq -r .authToken | sed -s 's/Bearer //g')
sed -E -i 's/^'"$1"':.*/'"$1:$auth"'/g' secret/authTokens.dat
}