Эквивалент Credentials.json для авторизации события в Календаре Google посетителя на веб-сайте

#authorization #google-calendar-api #credentials

#авторизация #google-calendar-api #учетные данные

Вопрос:

Я работаю над веб-сайтом, где люди могут создавать задачи в своем списке дел с указанием даты истечения срока. Я пытаюсь реализовать функцию, при которой пользователь может щелкнуть по дате крайнего срока, и ему будет предложено добавить ее в свой календарь Google, конечно, пройдя весь ожидаемый протокол авторизации.

Я последовал примеру: https://developers.google.com/calendar/quickstart/python . Изменив его, я смог добавлять события календаря в свой собственный календарь.

Насколько я понимаю, чтобы иметь возможность передать запрос в Календарь Google, мне нужна информация, заключенная в credentials.json для авторизации. Если я хочу разместить любую версию своего сайта в Интернете, очевидно, что я не могу иметь такую секретную информацию.

У меня есть два основных вопроса: во-первых, что я должен делать с точки зрения безопасного хранения этой информации. Во-вторых, есть ли что-то, чего мне не хватает, когда дело доходит до отправки запроса другому пользователю? Я знаю, что веб-сайты, которые я использовал, позволяли мне добавлять такие вещи в мой календарь Google, но все объяснения, которые я нашел в Интернете, были запутанными и противоречивыми.

Комментарии:

1. Что именно вы подразумеваете под «отправкой запроса другому пользователю»?

2. @ale13 Я имею в виду, что это посетитель сайта, а не моя собственная учетная запись.

Ответ №1:

Существуют разные способы аутентификации с помощью API Google

  • Создание файла credentials.json является лишь одним из них
  • Вы также можете выполнить реализацию аутентификации на стороне клиента с помощью API-ключа / идентификатора клиента, встроенного в ваш код
  • Вы также можете использовать учетную запись службы, с помощью которой ключи acocunt службы также будут реализованы в вашем коде
  • Какой сценарий аутентификации лучше всего соответствует вашим потребностям, зависит от вашего конкретного случая.
  • Для начала я рекомендую вам прочитать следующую документацию, чтобы получить более глубокое представление о процессе:

https://cloud.google.com/storage/docs/gsutil/addlhelp/CredentialTypesSupportingVariousUseCases
https://support.google.com/googleapi/answer/6158857?hl=en
https://developers.google.com/identity/sign-in/web/sign-in
https://developers.google.com/adwords/api/docs/guides/authentication#installed
https://developers.google.com/identity/protocols/oauth2