Mai bincike ya isa mai ba da shaida, sannan shiga ya kasa lokacin da aikace-aikacen ya musanya lambar izinin da aka dawo. Wannan musayar buƙata ce mai fita daga uwar garken aikace-aikacen, tare da abokin ciniki na HTTP nasa.

Don API ɗin da ya dogara da RestClient da ke akwai a Spring Security 6.5, ba abokin ciniki na amsar tambarin lambar izini masana'antar buƙata da ta san wakili:

SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
factory.setProxy(new java.net.Proxy(
    java.net.Proxy.Type.HTTP,
    new java.net.InetSocketAddress("proxy.example", 8080)));
factory.setConnectTimeout(5000);
factory.setReadTimeout(15000);

RestClient tokenHttp = RestClient.builder()
    .requestFactory(factory)
    .messageConverters(converters -> {
        converters.clear();
        converters.add(new FormHttpMessageConverter());
        converters.add(new OAuth2AccessTokenResponseHttpMessageConverter());
    })
    .defaultStatusHandler(new OAuth2ErrorResponseErrorHandler())
    .build();

RestClientAuthorizationCodeTokenResponseClient tokenClient =
    new RestClientAuthorizationCodeTokenResponseClient();
tokenClient.setRestClient(tokenHttp);

Azuzuwan mai juyawa da mai kula da kuskure suna kiyaye halayen buƙatar tambari da aka rubuta na Spring Security. RestClient na gama gari da aka saita don API na JSON mara alaƙa kawai ba shine daidaitaccen maye gurbin ba.

Haɗa wannan tokenClient ɗin cikin tsarin tsaro da ke akwai:

http.oauth2Login(login -> login
    .tokenEndpoint(token -> token
        .accessTokenResponseClient(tokenClient)));

Waɗannan guntu-guntu ne na saiti don aikace-aikacen da yake da rijistar abokin ciniki da SecurityFilterChain. Suna zaɓar wakilin HTTP ba tare da tabbatarwa ba; wakilin da ke buƙatar shaidu yana buƙatar daidaitaccen saitin tabbatarwa na jigilar da aka zaɓa. Don wurin ƙarshen tambarin HTTPS da ake iya isa ga jama'a a kan hanyar jama'a da aka yarda, shigarwar HTTP daga jerin wakilan HTTP na iya cika wannan adireshin wakili mara asusu.

Ka raba mai masaukin wakilin daga tasharsa da tsarin URL ɗinsa. Ka bar URI na tambarin mai ba da shaida a matsayin manufa. Misalin bai maye gurbin tabbatar da takardar shaida ba.

Buƙatun daga baya suna buƙatar nasu binciken mallaka. Samun UserInfo, musayar tambarin sabuntawa, tallafin client-credentials da kiran API mai kariya na iya amfani da wasu abubuwan abokin ciniki. Saita abokin ciniki mai goyan baya da ya dace lokacin da wannan aikin kuma yake buƙatar hanyar. Don kwararar client_credentials mai amsawa ta Spring Security 6.5, saita abokin ciniki na tambari mai amsawa da mai ba da tallafinsa daban.

Tsoffin misalan da ke amfani da OAuth2RestTemplate da AccessTokenProvider na cikin tsohon aikin Spring Security OAuth ne. Zaɓi API ɗin da aikace-aikacen da aka shigar ke amfani da shi kafin ka daidaita lambar; kada ka haɗa waɗannan abubuwan cikin wannan saitin.

Labarai masu alaƙa