Я планирую реализовать поток предоставления кода авторизации Oauth2 (с PKCE) вручную. Мой вопрос частично связан с this . Я использую Java, Springboot.
Я хочу защитить свои бэкэнд-API с помощью Oauth. Эти API-интерфейсы называются родным приложением. Большинство реализаций Oauth для предоставления кода авторизации требуют взаимодействия с пользователем. Мне было интересно, если это возможно, чтобы избежать этого. Поскольку мое приложение работает на собственном приложении, я не хочу, чтобы пользователь перенаправлялся в браузер для аутентификации. Мое приложение имеет функцию регистрации / входа.
Я планирую реализовать фильтр, в котором лог c будет выглядеть примерно так
if(uri contains authorize){
get all details from request
generate a uuid and store details in db with ttl
return uuid as code.
}
else if(uri contains token){
get all details from request
extract code from request and check for validity in database.
if(code valid) {
generate a JWT with access_token with ttl and refresh_token
return JWT
}
}
else{
check if JWT is present and valid
if valid proceed
}
У меня также будет лог c для refre sh токен , Я хочу знать
- Существуют ли какие-либо меры безопасности fl aws при таких действиях
- Есть ли другой альтернативный способ достижения потока предоставления кода авторизации без взаимодействия с пользователем.
- По отношению к PKCE. Использование PKCE уменьшает угрозу перехвата кода авторизации, не создавая и не сохраняя секрет клиента. Но что мешает пользователю отправить запрос конечной точке авторизации с его / ее собственным вызовом кода? Насколько безопасен идентификатор клиента в собственном приложении?