Class AbstractAuthorisationSpi<T>

    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiPsuAuthorisationResponse> authorisePsu​(@NotNull de.adorsys.psd2.xs2a.spi.domain.SpiContextData contextData, @NotNull String authorisationId, @NotNull de.adorsys.psd2.xs2a.spi.domain.psu.SpiPsuData psuLoginData, String password, T businessObject, @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider)  
      protected abstract de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO executeBusinessObject​(T businessObject)  
      protected String generatePsuMessage​(@NotNull de.adorsys.psd2.xs2a.spi.domain.SpiContextData contextData, @NotNull String authorisationId, @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider, de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiAuthorizationCodeResult> response)  
      protected abstract de.adorsys.psd2.xs2a.core.error.TppMessage getAuthorisePsuFailureMessage​(T businessObject)  
      protected abstract String getBusinessObjectId​(T businessObject)  
      protected abstract de.adorsys.ledgers.middleware.api.domain.sca.OpTypeTO getOpType()  
      protected Optional<List<de.adorsys.ledgers.middleware.api.domain.um.ScaUserDataTO>> getScaMethods​(de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO sca)  
      protected de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO getScaObjectResponse​(de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider, boolean checkCredentials)  
      de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiScaStatusResponse> getScaStatus​(@NotNull de.adorsys.psd2.xs2a.core.sca.ScaStatus scaStatus, @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiContextData contextData, @NotNull String authorisationId, T businessObject, @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider)  
      protected org.springframework.http.ResponseEntity<de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO> getSelectMethodResponse​(@NotNull String authenticationMethodId, de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO sca)  
      protected abstract de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO initiateBusinessObject​(T businessObject, @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider, String authorisationId)  
      protected abstract boolean isFirstInitiationOfMultilevelSca​(T businessObject, de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO scaBusinessObjectResponse)  
      @NotNull de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiAuthorizationCodeResult> requestAuthorisationCode​(@NotNull de.adorsys.psd2.xs2a.spi.domain.SpiContextData contextData, @NotNull String authenticationMethodId, T businessObject, @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider)  
      de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiAvailableScaMethodsResponse> requestAvailableScaMethods​(@NotNull de.adorsys.psd2.xs2a.spi.domain.SpiContextData contextData, T businessObject, @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider)
      This call must follow an init business object request, therefore we are expecting the AspspConsentData object to contain a GlobalScaResponseTO response.
      protected de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiPsuAuthorisationResponse> resolveErrorResponse​(T businessObject, feign.FeignException feignException)  
      @NotNull de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiAuthorisationDecoupledScaResponse> startScaDecoupled​(@NotNull de.adorsys.psd2.xs2a.spi.domain.SpiContextData contextData, @NotNull String authorisationId, @Nullable String authenticationMethodId, T businessObject, @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider)  
      protected abstract void updateStatusInCms​(String businessObjectId, de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider)  
      protected boolean validateStatuses​(T businessObject, de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO sca)  
    • Constructor Detail

      • AbstractAuthorisationSpi

        public AbstractAuthorisationSpi()
    • Method Detail

      • getSelectMethodResponse

        protected org.springframework.http.ResponseEntity<de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO> getSelectMethodResponse​(@NotNull
                                                                                                                                                    @NotNull String authenticationMethodId,
                                                                                                                                                    de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO sca)
      • getScaObjectResponse

        protected de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO getScaObjectResponse​(de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider,
                                                                                                        boolean checkCredentials)
      • getBusinessObjectId

        protected abstract String getBusinessObjectId​(T businessObject)
      • getOpType

        protected abstract de.adorsys.ledgers.middleware.api.domain.sca.OpTypeTO getOpType()
      • getAuthorisePsuFailureMessage

        protected abstract de.adorsys.psd2.xs2a.core.error.TppMessage getAuthorisePsuFailureMessage​(T businessObject)
      • initiateBusinessObject

        protected abstract de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO initiateBusinessObject​(T businessObject,
                                                                                                                   @NotNull
                                                                                                                   @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider,
                                                                                                                   String authorisationId)
      • isFirstInitiationOfMultilevelSca

        protected abstract boolean isFirstInitiationOfMultilevelSca​(T businessObject,
                                                                    de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO scaBusinessObjectResponse)
      • executeBusinessObject

        protected abstract de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO executeBusinessObject​(T businessObject)
      • updateStatusInCms

        protected abstract void updateStatusInCms​(String businessObjectId,
                                                  de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider)
      • generatePsuMessage

        protected String generatePsuMessage​(@NotNull
                                            @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiContextData contextData,
                                            @NotNull
                                            @NotNull String authorisationId,
                                            @NotNull
                                            @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider,
                                            de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiAuthorizationCodeResult> response)
      • validateStatuses

        protected boolean validateStatuses​(T businessObject,
                                           de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO sca)
      • authorisePsu

        public de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiPsuAuthorisationResponse> authorisePsu​(@NotNull
                                                                                                                                                            @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiContextData contextData,
                                                                                                                                                            @NotNull
                                                                                                                                                            @NotNull String authorisationId,
                                                                                                                                                            @NotNull
                                                                                                                                                            @NotNull de.adorsys.psd2.xs2a.spi.domain.psu.SpiPsuData psuLoginData,
                                                                                                                                                            String password,
                                                                                                                                                            T businessObject,
                                                                                                                                                            @NotNull
                                                                                                                                                            @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider)
      • resolveErrorResponse

        protected de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiPsuAuthorisationResponse> resolveErrorResponse​(T businessObject,
                                                                                                                                                                       feign.FeignException feignException)
      • requestAvailableScaMethods

        public de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiAvailableScaMethodsResponse> requestAvailableScaMethods​(@NotNull
                                                                                                                                                                             @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiContextData contextData,
                                                                                                                                                                             T businessObject,
                                                                                                                                                                             @NotNull
                                                                                                                                                                             @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider)
        This call must follow an init business object request, therefore we are expecting the AspspConsentData object to contain a GlobalScaResponseTO response.
      • getScaMethods

        protected Optional<List<de.adorsys.ledgers.middleware.api.domain.um.ScaUserDataTO>> getScaMethods​(de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO sca)
      • requestAuthorisationCode

        @NotNull
        public @NotNull de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiAuthorizationCodeResult> requestAuthorisationCode​(@NotNull
                                                                                                                                                                                @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiContextData contextData,
                                                                                                                                                                                @NotNull
                                                                                                                                                                                @NotNull String authenticationMethodId,
                                                                                                                                                                                @NotNull
                                                                                                                                                                                T businessObject,
                                                                                                                                                                                @NotNull
                                                                                                                                                                                @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider)
      • startScaDecoupled

        @NotNull
        public @NotNull de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiAuthorisationDecoupledScaResponse> startScaDecoupled​(@NotNull
                                                                                                                                                                                   @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiContextData contextData,
                                                                                                                                                                                   @NotNull
                                                                                                                                                                                   @NotNull String authorisationId,
                                                                                                                                                                                   @Nullable
                                                                                                                                                                                   @Nullable String authenticationMethodId,
                                                                                                                                                                                   @NotNull
                                                                                                                                                                                   T businessObject,
                                                                                                                                                                                   @NotNull
                                                                                                                                                                                   @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider)
      • getScaStatus

        public de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiScaStatusResponse> getScaStatus​(@NotNull
                                                                                                                                                     @NotNull de.adorsys.psd2.xs2a.core.sca.ScaStatus scaStatus,
                                                                                                                                                     @NotNull
                                                                                                                                                     @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiContextData contextData,
                                                                                                                                                     @NotNull
                                                                                                                                                     @NotNull String authorisationId,
                                                                                                                                                     @NotNull
                                                                                                                                                     T businessObject,
                                                                                                                                                     @NotNull
                                                                                                                                                     @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider)