У меня есть приложение GAE, с URL ограничить админу:Программа администратора на GAE - oauth2
- url: /admin
script: _go_app
login: admin
Я хочу PUT или POST на этот адрес с другой программой Go. Какой код мне нужно написать для проверки подлинности клиента для GAE и dev_server.py? Есть ли более разумный способ, который просто насмехается над веб-браузером и входит в систему? Мне не нужно проверять подлинность или авторизацию других пользователей, только учетную запись администратора для этого приложения.
Это OAuth? OAuth2? OpenID? Федеративные? Что-то другое?
Я понимаю, что это немного неудобный вопрос, так как я даже не уверен, как правильно его спросить. Однако я могу отправить сообщение (в этом примере) /admin
с помощью веб-браузера после входа в систему с моей (администраторской) учетной записью gmail. В этом случае запрос (отправленный Chrome) содержит файлы cookie: __cfduid
, ACSID
(и, как мне кажется, идентификаторы Google Analytics). Предположительно, один из них отвечает за мою аутентификацию. Как я могу получить один из них?
И как вопрос стороны, если кто-то MITMs мое соединение (через http), может ли он захватить мой сеанс администратора, повторно используя этот файл cookie?
Я настроил сервер. Как получить клиентскую программу для аутентификации с помощью этого? – Dijkstra
@ Dijkstra Если вы хотите, чтобы клиент использовал OAuth2 (или OpenID), вам необходимо автоматизировать шаги входа в систему клиента. В качестве альтернативы вы можете настроить API REST для своего приложения GAE и предоставить своему «клиенту» «токен аутентификации», который он может использовать (и который можно отменить, если клиент взломан), в своих запросах к вашему приложению GAE. Просто убедитесь, что comms превышают HTTPS, если вы идете по этому маршруту. – elithrar