Size: a a a

Spring Framework and more

2019 May 22

M

Mikhail in Spring Framework and more
Вот так тоже просто:
1) UI -(login, pass)-> OAUTH -(token, refresh token)-> UI
2) UI -(token)-> backend
источник

M

Mikhail in Spring Framework and more
Andrey Sidorenko
Грубо говоря авторизация через сторонний сервис
Мне приходит код, в случае успешной авторизации, который я меняю на бэке на токен
В чём тогда затруднение? Получил код, выдал на UI токен. Следующий запрос ожидаем с токеном.
источник

AS

Andrey Sidorenko in Spring Framework and more
Окей
И тут вопрос - в каждом запросе вначале проверять хэдеры на наличие токена?
Для этого, полагаю, есть встроенные механизмы
Плюс этот токен должен храниться в бд в привязке к владельцу
Сделать сохранение - окей
А получение Principal автоматически в эндпоинте?
источник

UK

Uday Kumar in Spring Framework and more
Hi, how to download spring boot javadoc for offline reference?
источник

PB

Pavel Bukhmatov in Spring Framework and more
Uday Kumar
Hi, how to download spring boot javadoc for offline reference?
https://repo.spring.io/libs-release/org/springframework/
Navigate to required project (e.g. boot in this case) -> navigate to version required -> download archive with name ending with *doc / *javadoc / something along the lines
источник

UK

Uday Kumar in Spring Framework and more
Pavel Bukhmatov
https://repo.spring.io/libs-release/org/springframework/
Navigate to required project (e.g. boot in this case) -> navigate to version required -> download archive with name ending with *doc / *javadoc / something along the lines
Thank you so much yar, i have been searching for this for about two hours
источник

PB

Pavel Bukhmatov in Spring Framework and more
Uday Kumar
Thank you so much yar, i have been searching for this for about two hours
np :)
источник

PB

Pavel Bukhmatov in Spring Framework and more
Andrey Sidorenko
Окей
И тут вопрос - в каждом запросе вначале проверять хэдеры на наличие токена?
Для этого, полагаю, есть встроенные механизмы
Плюс этот токен должен храниться в бд в привязке к владельцу
Сделать сохранение - окей
А получение Principal автоматически в эндпоинте?
SpringSecurity представляет собой еще 1 Сервлет фильтр (т.е. он сам срабатывает на каждый запрос). В свою очередь этот фильтр внутри разбивается еще на что-то там в районе 15+ фильтров, каждый из которых принимает решение о том, аутентицифировать ли пользователя.

Тебе нужно засунуть туда свой фильтр со своей логикой. По-моему для oauth оно делается само, это надо нагуглить.

Тогда после прохода запроса через все фильтры и принятии положительного решения для пользователя, Principal можно вытащить либо из SecurityContextHolder, либо просто указать Principal параметром метода @RequestMapping. Он сам замапится. Если же пользователь не проходит аутентификацию - ему вернется 401 (Вернее, запрос перекинется на обработку в AuthenticationEntryPoint, который может делать что угодно, так как это точка расширения в конфиге security, но кажется поумолчанию он вовзращает 401)

@GetMapping
public SomeReponse(Principal principal)
Гуглить тебе стоит в сторону "Spring boot oauth example github".
источник

PB

Pavel Bukhmatov in Spring Framework and more
Вот есть на пальцах, как работает секьюрити https://spring.io/guides/topicals/spring-security-architecture
источник

EA

Evgeny Ageev in Spring Framework and more
Привет! Подскажите, как в JsonDeserializer (jackson.databind) получить объект request ? (с целью распарсить урл)
public class StatusListDeserializer extends JsonDeserializer<StatusListDto> { ...
Он подключается в конфиге:
@Configuration
@AutoConfigureBefore(JacksonAutoConfiguration.class)
@EnableConfigurationProperties(ParamSettingProperties.class)
@Slf4j
@RequiredArgsConstructor
public class CommonConfiguration {...

#spring #boot #jackson
источник

H

Human in Spring Framework and more
Подскажите плиз по dependency Injection best practices. Я правильно понимаю, что в дефиниции бина норм производить его инициализацию и конфигурацию (например создание Long Poll соединения / отправка запроса для настройки внешнего апи итд)?
В каком месте это делаете вы?
источник

NB

Nikita Bezverkhy in Spring Framework and more
Andrey Sidorenko
Каким образом можно правильно реализовать авторизацию, когда вход происходит посредством стороннего сервиса, который стучится на мой эндпоинт, после чего я запрашиваю у него access_token?

Грубо говоря процесс авторизации выглядит следующим образом:
Человек открывает браузер -> переходит на мой сайт -> мой сайт редиректит его на сторонний сервис, через который происходит авторизация по OAuth -> сервис редиректит на мой эндпоинт -> я запрашиваю токен -> при успешном запросе я должен его авторизировать

Как правильно реализовать часть, которая после получения токена?
Я уже обчитался про spring security, в том числе baeldung'овских гайдов, и все равно не получается сообразить, как это правильно сделать
в смысле?
в spring-security-oauth это всё уже реализовано)
а лучше вообще использовать boot и соответствующий starter
источник

NB

Nikita Bezverkhy in Spring Framework and more
Human
Подскажите плиз по dependency Injection best practices. Я правильно понимаю, что в дефиниции бина норм производить его инициализацию и конфигурацию (например создание Long Poll соединения / отправка запроса для настройки внешнего апи итд)?
В каком месте это делаете вы?
это норма
бины часто создаются и конфигурятся с помощью каких-нибудь билдеров/фабрик/проперти классов
источник
2019 May 23

MC

Maksim Chesnokov in Spring Framework and more
в конфигурации докера установлено  ports:
   - "80:80"
   - "443:443" , volumes для nginx,   - VALIDATION=http, но он все равно генерит новый сертификат при compose up , вместо того чтобы подтянуть сгенерированный ранее, в чем может быть проблема?
источник

b💬

binka 💬 in Spring Framework and more
/ban
источник

R

Ranorex in Spring Framework and more
Спринг интересней, но сданный экзамен повышает твою зарплату
источник

R

Ranorex in Spring Framework and more
Завтра будет
источник

b💬

binka 💬 in Spring Framework and more
Ranorex
Спринг интересней, но сданный экзамен повышает твою зарплату
Спорное утверждение. Если на это не было спроса при найме. то и в процессе работы наврятли принесет пользу
источник

R

Ranorex in Spring Framework and more
binka 💬
Спорное утверждение. Если на это не было спроса при найме. то и в процессе работы наврятли принесет пользу
В Германии это работает
источник

R

Ranorex in Spring Framework and more
binka 💬
Спорное утверждение. Если на это не было спроса при найме. то и в процессе работы наврятли принесет пользу
Не распарсил
источник