Neste desafio você receberá um projeto Maven pré-configurado com Springboot, Spring-JPA, Spring-WEB, Spring-Security e banco de dados H2. Você precisará criar 2 endpoints:
Utilize a lib Spring Security OAuth2 AutoConfigure para utilizar Oauth2 no seu projeto spring.
-
Configure o @ResourceServer para expor o endpoint /user e bloquear todos os outros.
-
Configure o @AuthenticationServer para utilizar o Email como login. A senha não deve estar ecriptada.
-
Utilize a propriedade do spring para setar scope password, client_id e client_secret.
security.oauth2.client.scope=password security.oauth2.client.client-secret= security.oauth2.client.client-id=
-
.
GET /oauth/token
: recebendoclient_id
,client_secret
,grant_type
,user
epassword
. A resposta será um JSON contendo as seguintes informações:{ "access_token": "798df339-c920-4e42-9eb7-8bab168d6480", "token_type": "bearer", "refresh_token": "b0efcd1e-1459-47b6-8a55-ec09af2202b6", "expires_in": 85759, "scope": "read write trust" }
-
GET /user
: deverá ser acessado sem autenticação. -
GET /company
: deverá ser acessado apenas com autenticação. Utilize a autenticação Bearer + token para conseguir acesso.