LINUX.ORG.RU

Гуглоскрипт, авторизация

 ,


0

2

Немного поиграл с гуглоскриптами - в анонимном режиме все хорошо, кроме того, что скрипт может выполнить кто угодно.
Тут есть мануал по прикручиванию авторизации через GoogleLogin, он рассматривает случай для доступа к пикасе.
При выполнении примерно такого кода (получение токена, затем попытка авторизации с токеном):

#!/bin/bash

gmail=$1
password=$2
myIp=$3

GoogleAuthToken=`curl --silent https://www.google.com/accounts/ClientLogin --data-urlencode Email=$gmail \
--data-urlencode Passwd=$password -d accountType=GOOGLE -d source=YouDontSay -d service=lh2`

echo $GoogleAuthToken
GoogleAuthToken=$(echo "$GoogleAuthToken" | grep 'Auth=' | sed  s/Auth=//)
echo $GoogleAuthToken 

echo $myIp

curl -L --silent --header "Authorization: GoogleLogin auth=$GoogleAuthToken" "https://script.google.com/macros/s/.../exec?ip=\"$myIp\""

скрипт выдает ошибку 401 (Unauthorized).

Если скрипт на script.google.com сделать доступным «Anyone, even anonymous» - все работает... Но на самом деле достаточно строчки

curl --silent  "https://script.google.com/macros/s/.../exec?ip=\"$myIp\""
Т.е. авторизация по боку.

ЧЯДНТ? (Токен приходит нормально: если банально ошибиться в пароле, вместо токена придет «Bad auth»). Может, service= не тот? (копипастил из примера - какой «тот» для скриптов не уверен)

★★★★★

Последнее исправление: slackwarrior (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.