У меня есть вопрос, который может быть полезен большинству из Laravel разработчиков. Я хочу разрешить пользователю подключаться к одному или нескольким из этих API:
- Вход в Google
- Календарь Google
- Google Диск
До сих пор я использовал Laravel Socialite, который обеспечивает четкую связь со многими учетными записями в социальных сетях. Моя проблема в том, что через Socialite у меня есть только один драйвер Google, а мне нужно обращаться к другому API Google с разных кнопок.
Мои данные .env, подключенные к config / services. php:
GOOGLE_CLIENT_ID=1.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=XXX
GOOGLE_CALLBACK_URL=https://mysite/google/login_callback
GOOGLE_CALENDAR_CLIENT_ID=2.apps.googleusercontent.com
GOOGLE_CALENDAR_CLIENT_SECRET=YYY
GOOGLE_CALENDAR_CALLBACK_URL=https://mysite/google/calendar_callback
GOOGLE_DRIVE_CLIENT_ID=3.apps.googleusercontent.com
GOOGLE_DRIVE_CLIENT_SECRET=WWW
GOOGLE_DRIVE_CALLBACK_URL=https://mysite/google/drive_callback
Теперь мне ясно, как управлять несколькими API с помощью разных кнопок. Вот несколько вариантов:
- Использовать Socialite с уникальной точкой входа учетных данных (google_login) из Google Console Cloud и в функции обратного вызова в Контроллер. Я различаю разные случаи (логин, календарь, диск ...)
- Я создаю разные учетные данные Google для каждого API в разделе API, я использую Socialite только для входа в систему и создаю / загружаю отдельный пакет для Календаря, для Диска и т. д. c ...
Итак, основной момент: несколько API Google в Laravel должны применяться с уникальными учетными данными API, а на уровне контроллера я обращаюсь к относительному коду с использованием областей, или мне нужно создать отдельные учетные данные API каждого API, сделайте соответствующие ключи .env и управляйте всем отдельно.
Надеюсь, это не было слишком размытым. спасибо!