Я создал приложение Spring Boot (2.0.5) с использованием Spring Oauth2.
В частности, я включил сервер авторизации с использованием @EnableAuthorizationServer
и настройку, как описано в этом учебном пособии .
Я проверил, что сервер OAuth2 работает с использованием curl, например:
curl myclientid:secret@localhost:8080/oauth/token -d "grant_type=password&username=user&password=password" | jq
Я получил правильный ответ (здесь усечен):
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.xxx.yyy",
"token_type": "bearer",
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.xxx.yyy",
"expires_in": 43199,
"scope": "read write",
"jti": "003c6e7a-6e32-4d19-8773-bf739de13c69"
}
У меня вопрос, каксоздать код авторизации токен программно ?
В частности, мне нужно добавить пользовательский поток (для магической ссылки) в коде, как если бы пользователь вызвал конечную точку /oauth/authorize?response_type=code
напрямую.
Код должен генерировать токен с кодом авторизации, например, code = 123, который можно использовать в последующих запросах POST к /oauth/token
с grant_type=authorization_code&code=123