97 lines
2.8 KiB
Bash
Executable File
97 lines
2.8 KiB
Bash
Executable File
#!/bin/sh
|
|
# define username and password
|
|
# define token and refresh token
|
|
USER="maxwellxzy@gmail.com"
|
|
PASSWD="sSZSTSWz.xhik8P"
|
|
USER_PASSWD="{
|
|
\"username\": \"maxwellxzy@gmail.com\",
|
|
\"password\": \"sSZSTSWz.xhik8P\"
|
|
}"
|
|
|
|
JSON_TOKEN=$(
|
|
curl 'https://vps.hosting/api/login' \
|
|
-d username=$USER\
|
|
-d password=$PASSWD)
|
|
|
|
token=`echo $JSON_TOKEN|jq -r '.token'`
|
|
refresh_token=`echo $JSON_TOKEN|jq -r '.refresh'`
|
|
curl 'https://vps.hosting/api/login' -d username=$USER -d password=$PASSWD
|
|
##Set dir
|
|
SCRIPT_DIR=$(dirname "$0")
|
|
cd "$SCRIPT_DIR"
|
|
|
|
##########
|
|
# Function
|
|
# to get token
|
|
# 1.read config file; if no config file or no token, getting token;jump to 3;
|
|
# 2. judging token is repired;
|
|
# if token is repired, get new token and new refresh token;
|
|
# if token is not repired, return old token;
|
|
# 3. update config file (new token and new refresh token);
|
|
# 4. return new token;
|
|
#
|
|
get_token(){
|
|
# Define the get_token function
|
|
# Set the config file path
|
|
CONFIG_FILE="config.txt"
|
|
|
|
# Check if the config file exists and has a token value
|
|
if [ -f "$CONFIG_FILE" ] && [ -n "$(grep token $CONFIG_FILE)" ]; then
|
|
# Read the token value from the config file
|
|
TOKEN=$(grep token $CONFIG_FILE | cut -d '=' -f 2)
|
|
|
|
# Check if the token is expired
|
|
if [ "$(date +%s)" -gt "$(grep expiry $CONFIG_FILE | cut -d '=' -f 2)" ]; then
|
|
# Use the API to get a new token and refresh token
|
|
API_RESPONSE=$(curl -X POST https://example.com/api/token)
|
|
|
|
# Extract the new token and refresh token from the API response
|
|
NEW_TOKEN=$(echo $API_RESPONSE | jq '.token')
|
|
REFRESH_TOKEN=$(echo $API_RESPONSE | jq '.refresh_token')
|
|
|
|
# Write the new token and refresh token to the config file
|
|
echo "token=$NEW_TOKEN" > $CONFIG_FILE
|
|
echo "refresh_token=$REFRESH_TOKEN" >> $CONFIG_FILE
|
|
|
|
# Return the new token
|
|
echo $NEW_TOKEN
|
|
else
|
|
# Return the existing token
|
|
echo $TOKEN
|
|
fi
|
|
else
|
|
# Use the API to get a new token and refresh token
|
|
API_RESPONSE=$(curl -X POST https://example.com/api/token)
|
|
|
|
# Extract the new token and refresh token from the API response
|
|
NEW_TOKEN=$(echo $API_RESPONSE | jq '.token')
|
|
REFRESH_TOKEN=$(echo $API_RESPONSE | jq '.refresh_token')
|
|
|
|
# Write the new token and refresh token to the config file
|
|
echo "token=$NEW_TOKEN" > $CONFIG_FILE
|
|
echo "refresh_token=$REFRESH_TOKEN" >> $CONFIG_FILE
|
|
|
|
# Return the new token
|
|
echo $NEW_TOKEN
|
|
fi
|
|
}
|
|
|
|
tmp_token=`curl -s -X POST "https://vps.hosting/api/login" \
|
|
-H "Content-Type: application/json" \
|
|
-d "$1"`
|
|
|
|
}
|
|
|
|
##########
|
|
# Function
|
|
# to refresh token
|
|
# 1.read config file; if no config file or no refresh token, use function get_token;
|
|
# 2. use refresh token to get new token;
|
|
# if refresh token is repired, use function get_token; exit;
|
|
# 3. update config file;
|
|
#
|
|
get_refresh_token(){
|
|
|
|
}
|
|
## get services
|