Обмен кода на токен
Эта инструкция — про серверную половину входа: у вас на руках code из onSuccess, и
нужно получить токен и опознать пользователя.
Обмен кода
Заголовок раздела «Обмен кода»Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code&
code=ПОЛУЧЕННЫЙ_CODE&
redirect_uri=https://partner.example/callback&
client_id=ВАШ_CLIENT_ID&
client_secret=ВАШ_CLIENT_SECRET&
code_verifier=CODE_VERIFIER_С_ШАГА_ИНИЦИАЛИЗАЦИИОтвет содержит access_token (жизнь 1 час), refresh_token (30 дней) и id_token.
Чтение профиля
Заголовок раздела «Чтение профиля»Есть два пути узнать пользователя, оба дают одно и то же поле sub.
- Из
id_token— это JWT; проверьте подпись по ключам из JWKS и возьмите claimsub. - Через UserInfo — позовите
GET /oauth/userinfoсAuthorization: Bearer <access_token>.
Authorization: Bearer ACCESS_TOKENАдреса эндпоинтов не хардкодьте, а берите из
GET /.well-known/openid-configuration (discovery).
Обновление токена
Заголовок раздела «Обновление токена»Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token&
refresh_token=REFRESH_TOKEN&
client_id=ВАШ_CLIENT_ID&
client_secret=ВАШ_CLIENT_SECRETПолные схемы запросов и ответов — в справочнике API.