Technology sharing

Integrate uno signo-on solution in Spring Booz project

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Integrate uno signo-on solution in Spring Booz project

Salve omnes, ego sum editor Weizhuan Taoke System 3.0, et sum etiam programmator qui non longas morigeras in hieme, sed adhuc frigida tempestate frigus habet!

In applicationibus hodiernis incepti, Unius Sign-On (SSO) solutiones technologiae clavis sunt ut utentes compagem inire et plures applicationes accedere possint. Articulus hic singillatim introducebit quomodo unum signum - solutionis solutionis in fonte Booz in project ad meliorem user experientiam et systema securitatem perficiendam.

1. elige unum signum, in solutione

Priusquam unum signum-in integrare possis, prius necesse est ut unum signum -de solutione idoneum eligas. Communes optiones includunt solutiones OAuth2-fundatas (qualia sunt Ver Securitatis OAuth vel Ver Securitatis + OAuth2 Client), et usus auctoritatum authenticarum integrarum (ut Keycloak). Veris Securitatis + OAuth2 Client exemplo ad illustrandum utitur.

2. Configure OAuth2 Client

In Proposito Verno Booz, unum signum-on munus efficere possumus, conformando Veris Securitatis et OAuth2 Client. Hic figura simplex est exemplum:

package cn.juwatech.taokua.system.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.oauth2.client.registration.ClientRegistration;
import org.springframework.security.oauth2.client.registration.ClientRegistrationRepository;
import org.springframework.security.oauth2.client.registration.InMemoryClientRegistrationRepository;
import org.springframework.security.oauth2.core.AuthorizationGrantType;
import org.springframework.security.oauth2.core.ClientAuthenticationMethod;

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers("/", "/home").permitAll()
                .anyRequest().authenticated()
                .and()
            .oauth2Login()
                .defaultSuccessUrl("/dashboard")
                .and()
            .logout()
                .logoutSuccessUrl("/")
                .permitAll();
    }

    @Bean
    public ClientRegistrationRepository clientRegistrationRepository() {
        return new InMemoryClientRegistrationRepository(githubClientRegistration());
    }

    private ClientRegistration githubClientRegistration() {
        return ClientRegistration.withRegistrationId("github")
                .clientId("your-client-id")
                .clientSecret("your-client-secret")
                .clientAuthenticationMethod(ClientAuthenticationMethod.BASIC)
                .authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE)
                .redirectUriTemplate("{baseUrl}/login/oauth2/code/{registrationId}")
                .scope("read:user")
                .authorizationUri("https://github.com/login/oauth/authorize")
                .tokenUri("https://github.com/login/oauth/access_token")
                .userInfoUri("https://api.github.com/user")
                .userNameAttributeName("id")
                .clientName("GitHub")
                .build();
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53

3. Integrated authenticas server

Si auctoritate certificamenti integrali uti voles, sicut Keycloak, eam his gradibus integrare potes:

  • Configurare Keycloak Servo et crea Regnum et Clientem;
  • Configurare Keycloak Adapter in Ver Booz project;
  • Configurare Spring Securitatis ut Keycloak ut provisor authenticas.

4. uno signo-on- Implement

Semel in incepto figuratus, users potes in utendo documentorum eorum accessione quavis applicatione. Systema automatice utentem diriget ad auctoritatem certificationis authenticitatis et licentiae obtinendam, et postea ad applicationem originalem redigendo.

finitione

Articulus hic describitur quomodo unum signum - solutionis solutionis in fonti Boot project, praebet exemplum simplex conformationis in OAuth2 fundatae, et optionem ponit centri certificationis integrandi. Per hos gradus tincidunt facile efficiens utentis authenticas et auctoritatis functiones efficere possunt.

Productus ab editore Micro-commerce Taoke System 3.0, necesse est esse productum quale summus.