Я использую Auth0 для аутентификации с Symfony2 и HWIOAuthBundle.
Наше приложение делает следующее:
Проблема в # 4. Как мне получить, чтобы пользователи вошли в приложение Symfony сейчас? С Auth0 я могу позвонить https://muapp.auth0.com/oauth/ro Конечная точка API, и она будет возвращать access_token и id_token, но как мне использовать их для запуска, например, потока OAuth, чтобы я мог надлежащим образом аутентифицировать этого пользователя с помощью Auth0 и моего приложения.
В запросе 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
,
Других решений пока нет …