2016-01-19 4 views
1

Я использую Auth0 для аутентификации с помощью Symfony2 и HWIOAuthBundle.Войдите в систему после создания с помощью Auth0 и PHP

Наше приложение делает следующее:

  1. Отправить приглашение ссылку новому пользователю
  2. Пользователь ckicks ссылку и приземляется форму, где новые они заполняются в электронной почте и пароль
  3. После отправки формы и подтверждено, что мы создаем пользователя в Auth0 со всеми необходимыми метаданными
  4. Пользователь перенаправляется для начала работы TOUR

Проблема в №4. Как мне получить, что пользователи вошли в приложение Symfony? С помощью Auth0 я могу вызывать https://muapp.auth0.com/oauth/ro конечную точку API, и она вернет access_token и id_token, но как я могу использовать те, которые запускают, например, поток OAuth, чтобы я мог правильно аутентифицировать этого пользователя с помощью Auth0 и моего приложения.

ответ

1

В запросе URL-адреса переадресации сервер oauth должен добавить AUTHORIZATION_CODE.

https://your-oauth-client/callback?code=AUTHORIZATION_CODE

Этот код авторизации является доказательством того, что клиентское приложение может действовать от имени пользователя. С помощью этого кода ваше клиентское приложение должно иметь возможность запросить ACCESS_TOKEN, его истечение и REFRESH TOKEN (используя cURL или что-то подобное) с сервера.

Этот запрос должен выглядеть примерно так:

https://your-oauth-server/oauth/token?client_id=CLIENT_ID&client_secret=CLIENT_SECRET&grant_type=authorization_code&code=AUTHORIZATION_CODE&redirect_uri=CALLBACK_URL

Теперь клиент приложение хранит ACCESS_TOKEN и добавляет его в запросе заголовки следующих запросов.

Authorization:Bearer ACCESS_TOKEN

Если ACCESS_TOKEN истек, клиентское приложение должно запросить новый с REFRESH_TOKEN.