Commit afcbd27e authored by Adam Paulen's avatar Adam Paulen
Browse files

Merge branch 'set-auth' into 'main'

Set auth

See merge request !27
parents 65c95705 04626c7e
Loading
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -8,7 +8,6 @@ import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.oauth2.client.oidc.web.logout.OidcClientInitiatedLogoutSuccessHandler;
import org.springframework.security.oauth2.client.registration.ClientRegistrationRepository;
import org.springframework.security.web.SecurityFilterChain;
import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler;
import org.springframework.security.web.csrf.CookieCsrfTokenRepository;
import org.springframework.security.web.csrf.CsrfTokenRequestAttributeHandler;

@@ -38,8 +37,8 @@ public class AuthClientApplication {
                        .requestMatchers("/", "/error", "/robots.txt", "/style.css", "/favicon.ico", "/webjars/**").permitAll()
                        .anyRequest().authenticated()
                )
                .oauth2Login(x -> x
                        .successHandler(new SavedRequestAwareAuthenticationSuccessHandler())
                .oauth2Login(oauth -> oauth
                .defaultSuccessUrl("/authenticated", true)
        )
                .logout(x -> x
                        .logoutSuccessUrl("/")
+3 −5
Original line number Diff line number Diff line
@@ -12,17 +12,15 @@ import org.springframework.web.bind.annotation.GetMapping;
public class MainController {
    @GetMapping("/")
    public String index(@AuthenticationPrincipal OidcUser user) {
        return user == null ? "index" : "redirect:/login";
        return user == null ? "index" : "redirect:/authenticated";
    }

    @GetMapping("/login")
    @GetMapping("/authenticated")
    public String authenticatedPage(Model model,
                                    @AuthenticationPrincipal OidcUser user,
                                    @RegisteredOAuth2AuthorizedClient OAuth2AuthorizedClient oauth2Client) {
        model.addAttribute("user", user);
        model.addAttribute("issuerName",
                "https://id.muni.cz/oidc/".equals(user.getIssuer().toString()) ? "MUNI" : "Google");
        model.addAttribute("authInfo", oauth2Client.getAccessToken().getTokenValue());
        model.addAttribute("token", oauth2Client.getAccessToken().getTokenValue());
        return "auth";
    }
}
+6 −1
Original line number Diff line number Diff line
@@ -17,3 +17,8 @@ spring:

server:
  port: 8084

logging:
  level:
    org.springframework.security: DEBUG
    org.springframework.web: DEBUG
 No newline at end of file
+8 −0
Original line number Diff line number Diff line
index.title=Spring OAuth 2/OIDC Confidential Client
index.body.annon=You are not logged in. Please log in using one of the available OIDC Providers.
index.body.login=Generated list of providers
index.body.authuser=You are logged in now. Here are your personal data obtained from the OIDC Provider:
index.body.authuser.link.announcement=Now you may proceed to calling resource server.
index.body.authuser.link.text=Go to My Calendar user interface
index.body.authuser.do.logout=That's it. The access token from Google allows only getting personal info. \
  Please log out and log in again with a MUNI account.
+10 −0
Original line number Diff line number Diff line
index.title=Spring OAuth 2/OIDC Confidential Client
index.body.annon=Nejste p\u0159ihl\u00E1\u0161en(a). P\u0159ihlaste se jedn\u00EDm z uveden\u00FDch poskytovatel\u016F OIDC.
index.body.login=generovan\u00FD seznam poskytovatel\u016F p\u0159ihl\u00E1\u0161en\u00ED
index.body.authuser=Nyn\u00ED jste p\u0159ihl\u00E1\u0161en(a). Zde jsou osobn\u00ED data z\u00EDskan\u00E1 z poskytovatele OIDC:
index.body.authuser.link.announcement=Nyn\u00ED m\u016F\u017Eete pokra\u010Dovat na vol\u00E1n\u00ED Resource Serveru.
index.body.authuser.link.text=B\u011B\u017Ete na M\u016Fj Kalend\u00E1\u0159
index.body.authuser.do.logout=To je v\u0161echno. Access token od Google povoluje jen z\u00EDskat osobn\u00ED informace.\
  Odhlaste se a znovu p\u0159ihlaste \u00FA\u010Dtem MUNI.

Loading