Merge pull request #2782 from lippertmarkus/feature-deployhook-synology-otp

Add OTP support to Synology DSM deployhook
This commit is contained in:
neil 2020-03-14 16:05:05 +08:00 committed by GitHub
commit 1e34ccbe2e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -15,6 +15,7 @@
# SYNO_Scheme - defaults to http # SYNO_Scheme - defaults to http
# SYNO_Hostname - defaults to localhost # SYNO_Hostname - defaults to localhost
# SYNO_Port - defaults to 5000 # SYNO_Port - defaults to 5000
# SYNO_DID - device ID to skip OTP - defaults to empty
# #
#returns 0 means success, otherwise error. #returns 0 means success, otherwise error.
@ -38,6 +39,7 @@ synology_dsm_deploy() {
_getdeployconf SYNO_Username _getdeployconf SYNO_Username
_getdeployconf SYNO_Password _getdeployconf SYNO_Password
_getdeployconf SYNO_Create _getdeployconf SYNO_Create
_getdeployconf SYNO_DID
if [ -z "$SYNO_Username" ] || [ -z "$SYNO_Password" ]; then if [ -z "$SYNO_Username" ] || [ -z "$SYNO_Password" ]; then
SYNO_Username="" SYNO_Username=""
SYNO_Password="" SYNO_Password=""
@ -79,7 +81,7 @@ synology_dsm_deploy() {
# Login, get the token from JSON and session id from cookie # Login, get the token from JSON and session id from cookie
_info "Logging into $SYNO_Hostname:$SYNO_Port" _info "Logging into $SYNO_Hostname:$SYNO_Port"
response=$(_get "$_base_url/webman/login.cgi?username=$SYNO_Username&passwd=$SYNO_Password&enable_syno_token=yes") response=$(_get "$_base_url/webman/login.cgi?username=$SYNO_Username&passwd=$SYNO_Password&enable_syno_token=yes&device_id=$SYNO_DID")
token=$(echo "$response" | grep "SynoToken" | sed -n 's/.*"SynoToken" *: *"\([^"]*\).*/\1/p') token=$(echo "$response" | grep "SynoToken" | sed -n 's/.*"SynoToken" *: *"\([^"]*\).*/\1/p')
_debug3 response "$response" _debug3 response "$response"
@ -99,6 +101,7 @@ synology_dsm_deploy() {
# Now that we know the username and password are good, save them # Now that we know the username and password are good, save them
_savedeployconf SYNO_Username "$SYNO_Username" _savedeployconf SYNO_Username "$SYNO_Username"
_savedeployconf SYNO_Password "$SYNO_Password" _savedeployconf SYNO_Password "$SYNO_Password"
_savedeployconf SYNO_DID "$SYNO_DID"
_debug token "$token" _debug token "$token"
_info "Getting certificates in Synology DSM" _info "Getting certificates in Synology DSM"