Add authorization by auth server
This commit is contained in:
parent
e98789a1ee
commit
7dbfd77547
@ -30,6 +30,8 @@ dependencies {
|
||||
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
|
||||
implementation("org.springframework.boot:spring-boot-starter-web")
|
||||
implementation("com.vaadin:vaadin-spring-boot-starter")
|
||||
implementation("org.springframework.boot:spring-boot-starter-oauth2-client")
|
||||
|
||||
implementation("org.yaml:snakeyaml")
|
||||
compileOnly("org.projectlombok:lombok")
|
||||
annotationProcessor("org.projectlombok:lombok")
|
||||
|
@ -7,6 +7,7 @@ import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||
import com.vaadin.flow.router.PageTitle;
|
||||
import com.vaadin.flow.router.Route;
|
||||
import jakarta.annotation.security.PermitAll;
|
||||
import ru.vyatsu.qr_access_admin.client.component.ClientEditor;
|
||||
import ru.vyatsu.qr_access_admin.client.entity.ClientEntity;
|
||||
import ru.vyatsu.qr_access_admin.client.entity.ClientRepository;
|
||||
@ -16,6 +17,7 @@ import java.util.List;
|
||||
|
||||
@Route(value = "clients", layout = MainLayout.class)
|
||||
@PageTitle("Клиенты")
|
||||
@PermitAll
|
||||
public class ClientView extends VerticalLayout {
|
||||
private final ClientRepository repository;
|
||||
private final Grid<ClientEntity> grid;
|
||||
|
@ -0,0 +1,17 @@
|
||||
package ru.vyatsu.qr_access_admin.common.config;
|
||||
|
||||
import com.vaadin.flow.spring.security.VaadinWebSecurity;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
||||
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
||||
|
||||
@Configuration
|
||||
@EnableWebSecurity
|
||||
public class SecurityConfiguration extends VaadinWebSecurity {
|
||||
|
||||
@Override
|
||||
protected void configure(HttpSecurity http) throws Exception {
|
||||
super.configure(http);
|
||||
http.oauth2Login(c -> c.loginProcessingUrl("/login/oauth2/code/own"));
|
||||
}
|
||||
}
|
@ -1,12 +1,14 @@
|
||||
package ru.vyatsu.qr_access_admin.common.view;
|
||||
|
||||
import ru.vyatsu.qr_access_admin.common.MainLayout;
|
||||
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||
import com.vaadin.flow.router.PageTitle;
|
||||
import com.vaadin.flow.router.Route;
|
||||
import jakarta.annotation.security.PermitAll;
|
||||
import ru.vyatsu.qr_access_admin.common.MainLayout;
|
||||
|
||||
@Route(value = "", layout = MainLayout.class)
|
||||
@PageTitle("Start")
|
||||
@PermitAll
|
||||
public class MainView extends VerticalLayout {
|
||||
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||
import com.vaadin.flow.router.PageTitle;
|
||||
import com.vaadin.flow.router.Route;
|
||||
import jakarta.annotation.security.PermitAll;
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.EntityManagerFactory;
|
||||
import jakarta.persistence.Query;
|
||||
@ -22,6 +23,7 @@ import java.util.List;
|
||||
|
||||
@Route(value = "doors", layout = MainLayout.class)
|
||||
@PageTitle("Двери")
|
||||
@PermitAll
|
||||
public class DoorView extends VerticalLayout {
|
||||
private final Grid<DoorEntity> grid;
|
||||
private final DoorRepository repository;
|
||||
|
@ -7,6 +7,7 @@ import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||
import com.vaadin.flow.router.PageTitle;
|
||||
import com.vaadin.flow.router.Route;
|
||||
import jakarta.annotation.security.PermitAll;
|
||||
import ru.vyatsu.qr_access_admin.common.MainLayout;
|
||||
import ru.vyatsu.qr_access_admin.partner.component.PartnerEditor;
|
||||
import ru.vyatsu.qr_access_admin.partner.entity.PartnerEntity;
|
||||
@ -16,6 +17,7 @@ import java.util.List;
|
||||
|
||||
@Route(value = "partners", layout = MainLayout.class)
|
||||
@PageTitle("Партнеры")
|
||||
@PermitAll
|
||||
public class PartnerView extends VerticalLayout {
|
||||
private final PartnerRepository repository;
|
||||
private final Grid<PartnerEntity> grid;
|
||||
|
@ -7,6 +7,7 @@ import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||
import com.vaadin.flow.router.PageTitle;
|
||||
import com.vaadin.flow.router.Route;
|
||||
import jakarta.annotation.security.PermitAll;
|
||||
import ru.vyatsu.qr_access_admin.common.MainLayout;
|
||||
import ru.vyatsu.qr_access_admin.door.entity.DoorRepository;
|
||||
import ru.vyatsu.qr_access_admin.qr.component.QrEditor;
|
||||
@ -17,6 +18,7 @@ import java.util.List;
|
||||
|
||||
@Route(value = "qrs", layout = MainLayout.class)
|
||||
@PageTitle("Коды")
|
||||
@PermitAll
|
||||
public class QrView extends VerticalLayout {
|
||||
private final QrRepository repository;
|
||||
private final Grid<QrEntity> grid;
|
||||
|
@ -7,6 +7,7 @@ import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||
import com.vaadin.flow.router.PageTitle;
|
||||
import com.vaadin.flow.router.Route;
|
||||
import jakarta.annotation.security.PermitAll;
|
||||
import ru.vyatsu.qr_access_admin.common.MainLayout;
|
||||
import ru.vyatsu.qr_access_admin.slot.component.SlotEditor;
|
||||
import ru.vyatsu.qr_access_admin.slot.entity.SlotEntity;
|
||||
@ -16,6 +17,7 @@ import java.util.List;
|
||||
|
||||
@Route(value = "slots", layout = MainLayout.class)
|
||||
@PageTitle("Слоты")
|
||||
@PermitAll
|
||||
public class SlotView extends VerticalLayout {
|
||||
private final SlotRepository repository;
|
||||
private final Grid<SlotEntity> grid;
|
||||
|
@ -7,6 +7,7 @@ import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||
import com.vaadin.flow.router.PageTitle;
|
||||
import com.vaadin.flow.router.Route;
|
||||
import jakarta.annotation.security.PermitAll;
|
||||
import ru.vyatsu.qr_access_admin.common.MainLayout;
|
||||
import ru.vyatsu.qr_access_admin.unit.component.UnitEditor;
|
||||
import ru.vyatsu.qr_access_admin.unit.entity.UnitEntity;
|
||||
@ -18,6 +19,7 @@ import java.util.List;
|
||||
|
||||
@Route(value = "units", layout = MainLayout.class)
|
||||
@PageTitle("Устройства")
|
||||
@PermitAll
|
||||
public class UnitView extends VerticalLayout {
|
||||
|
||||
private final UnitRepository unitRepository;
|
||||
|
@ -9,6 +9,20 @@ spring:
|
||||
password: 123
|
||||
security:
|
||||
oauth2:
|
||||
resourceserver:
|
||||
jwt:
|
||||
jwk-set-uri: http://localhost:8081/oauth2/jwks
|
||||
client:
|
||||
registration:
|
||||
own:
|
||||
clientId: ${CLIENT_ID:admin}
|
||||
clientSecret: ${CLIENT_SECRET:}
|
||||
authorizationGrantType: authorization_code
|
||||
clientAuthenticationMethod: none
|
||||
scope:
|
||||
- admin
|
||||
- openid
|
||||
redirectUri: "{baseUrl}/login/oauth2/code/{registrationId}"
|
||||
provider:
|
||||
own:
|
||||
issuerUri: http://127.0.0.1:8081
|
||||
jwkSetUri: http://127.0.0.1:8081/oauth2/jwks
|
||||
tokenUri: http://127.0.0.1:8081/oauth2/token
|
||||
authorizationUri: http://127.0.0.1:8081/oauth2/authorize
|
Loading…
Reference in New Issue
Block a user