91 lines
2.0 KiB
Bash
91 lines
2.0 KiB
Bash
read -s -p 'Enter Current Password: ' OLD_PASSWORD
|
|
echo ""
|
|
echo ""
|
|
|
|
while true; do
|
|
read -s -p 'Enter New Password: ' NEW_PASSWORD
|
|
echo ""
|
|
read -s -p 'Repeat New Password: ' REPEAT_NEWPASSWORD
|
|
echo ""
|
|
if [ "$NEW_PASSWORD" = "$REPEAT_NEWPASSWORD" ]
|
|
then
|
|
sleep 0.2
|
|
echo ""
|
|
break
|
|
else
|
|
echo "${red}Password do not match${reset}"
|
|
echo "Try again"
|
|
echo ""
|
|
fi
|
|
done
|
|
|
|
while true; do
|
|
echo "Select OTP Method:"
|
|
echo "1 - Mobile"
|
|
echo "2 - Email"
|
|
echo ""
|
|
read -p "Please input: " OTPCHANNEL
|
|
|
|
if [ "$OTPCHANNEL" = "1" ] || [ "$OTPCHANNEL" = "mobile" ]
|
|
then
|
|
OTPCHANNEL=mobile
|
|
break
|
|
elif [ "$OTPCHANNEL" = "2" ] || [ "$OTPCHANNEL" = "email" ]
|
|
then
|
|
OTPCHANNEL=email
|
|
break
|
|
else
|
|
echo "${red}Invalid Input${reset}"
|
|
echo ""
|
|
fi
|
|
done
|
|
|
|
OLDPASSCHECHECK=$(curl -s -b $COOKIE $BML_URL/user/changepassword \
|
|
--data-raw currentPassword=$OLD_PASSWORD \
|
|
--data-raw newPassword=$NEW_PASSWORD \
|
|
--data-raw newPasswordConfirmation=$REPEAT_NEWPASSWORD \
|
|
--data-raw channel=$OTPCHANNEL \
|
|
--compressed \
|
|
| jq -r .success)
|
|
|
|
if [ "$OLDPASSCHECHECK" != "true" ]
|
|
then
|
|
source changepassword.sh
|
|
else
|
|
:
|
|
fi
|
|
|
|
if [ "$OTPCHANNEL" = "mobile" ]
|
|
then
|
|
ECHOOTPCHANNEL=$PHONE
|
|
elif [ "$OTPCHANNEL" = "email" ]
|
|
then
|
|
ECHOOTPCHANNEL=$EMAIL
|
|
fi
|
|
|
|
echo ""
|
|
echo "${lightgreen}OTP sent to ${yellow}${ECHOOTPCHANNEL}${reset}"
|
|
read -p 'Enter OTP: ' OTP
|
|
echo ""
|
|
PASSCHANGED=$(curl -s -b $COOKIE $BML_URL/user/changepassword \
|
|
--data-raw currentPassword=$OLD_PASSWORD \
|
|
--data-raw newPassword=$NEW_PASSWORD \
|
|
--data-raw newPasswordConfirmation=$REPEAT_NEWPASSWORD \
|
|
--data-raw channel=$OTPCHANNEL \
|
|
--data-raw otp=$OTP \
|
|
--compressed \
|
|
| jq -r .success)
|
|
|
|
OLD_PASSWORD=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 5)
|
|
NEW_PASSWORD=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 5)
|
|
REPEAT_NEWPASSWORD=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 5)
|
|
|
|
if [ "$PASSCHANGED" != "true" ]
|
|
then
|
|
echo "${red}Failed to change password${reset}"
|
|
else
|
|
echo "${lightgreen}Password changed succesfully ${reset}"
|
|
rm $CREDENTIALS
|
|
source readpass.sh
|
|
fi
|