Svarinn2 Java-klient

Klient for integrasjoner mot KS-Fiks Svarinn2. Håndterer sending, mottak, kryptering, dekryptering og signering

License

License

Categories

Categories

Java Languages
GroupId

GroupId

no.ks.fiks
ArtifactId

ArtifactId

svarinn2-klient-java
Last Version

Last Version

1.0.11
Release Date

Release Date

Type

Type

jar
Description

Description

Svarinn2 Java-klient
Klient for integrasjoner mot KS-Fiks Svarinn2. Håndterer sending, mottak, kryptering, dekryptering og signering
Source Code Management

Source Code Management

https://github.com/ks-no/fiks-svarinn2-klient-java

Download svarinn2-klient-java

How to add to project

<!-- https://jarcasting.com/artifacts/no.ks.fiks/svarinn2-klient-java/ -->
<dependency>
    <groupId>no.ks.fiks</groupId>
    <artifactId>svarinn2-klient-java</artifactId>
    <version>1.0.11</version>
</dependency>
// https://jarcasting.com/artifacts/no.ks.fiks/svarinn2-klient-java/
implementation 'no.ks.fiks:svarinn2-klient-java:1.0.11'
// https://jarcasting.com/artifacts/no.ks.fiks/svarinn2-klient-java/
implementation ("no.ks.fiks:svarinn2-klient-java:1.0.11")
'no.ks.fiks:svarinn2-klient-java:jar:1.0.11'
<dependency org="no.ks.fiks" name="svarinn2-klient-java" rev="1.0.11">
  <artifact name="svarinn2-klient-java" type="jar" />
</dependency>
@Grapes(
@Grab(group='no.ks.fiks', module='svarinn2-klient-java', version='1.0.11')
)
libraryDependencies += "no.ks.fiks" % "svarinn2-klient-java" % "1.0.11"
[no.ks.fiks/svarinn2-klient-java "1.0.11"]

Dependencies

compile (22)

Group / Artifact Type Version
org.slf4j : slf4j-api jar 1.7.26
no.ks.fiks : maskinporten-client jar 1.0.11
no.ks.fiks : feign-interceptors jar 1.0.2
no.difi.commons : commons-asic jar 0.9.3
no.ks.fiks : kryptering jar 1.0.5
org.projectlombok : lombok jar 1.18.0
no.ks.fiks : dokumentlager-klient jar 1.2.1
no.ks.fiks : svarinn2-commons jar 1.0.15
no.ks.fiks : svarinn2-send-klient jar 1.0.5
com.rabbitmq : amqp-client jar 5.6.0
commons-io : commons-io jar 2.6
io.swagger : swagger-annotations jar 1.5.18
io.github.openfeign : feign-core jar 9.4.0
io.github.openfeign : feign-jackson jar 9.4.0
io.github.openfeign : feign-slf4j jar 9.4.0
io.github.openfeign.form : feign-form jar 2.1.0
com.fasterxml.jackson.datatype : jackson-datatype-jdk8 jar 2.9.8
com.fasterxml.jackson.datatype : jackson-datatype-jsr310 jar 2.9.8
com.fasterxml.jackson.core : jackson-core jar 2.9.8
com.fasterxml.jackson.core : jackson-annotations jar 2.9.8
com.fasterxml.jackson.core : jackson-databind jar 2.9.8
org.apache.oltu.oauth2 : org.apache.oltu.oauth2.client jar 1.0.1

Project Modules

There are no modules declared in this project.

Fiks IO java klient

MIT Licens Maven Central DepShield Badge GitHub last commit GitHub Release Date

Klient for å bruke Fiks IO i et JVM miljø

Ta i bruk

Forutsetninger

  • Java 1.8 eller høyere

Maven

Legg til følgende i POM-filen din:

<dependencies>
   <dependency>
        <groupId>no.ks.fiks</groupId>
        <artifactId>fiks-io-klient-java</artifactId>
        <version>1.2.23</version>
   </dependency>
</dependencies>

Bruk

final FiksIOKonfigurasjon fiksIOKonfigurasjon = FiksIOKonfigurasjon.builder()
                                            // sett konfig
                                            .build();
final FiksIOKlientFactory fiksIOKlientFactory = new FiksIOKlientFactory(fiksIOKonfigurasjon);
final FiksIOKlient fiksIOKlient = fiksIOKlientFactory.build();
// Lytte på meldinger
fiksIOKlient.newSubscription((motattMelding, svarSender) -> {
                         // Gjør noe med mottatt melding
                     });

// Slå opp konto
final Optional<Konto> fiksIoKonto = fiksIOKlient.lookup(...);


// Sende melding
final SendtMelding sendtMelding = fiksIoKonto.map(konto -> fiksIOKlient.send(...)).orElseThrow(() -> new IllegalStateException("Kunne ikke sende til Fiks IO"));

Konfigurasjon av klienten

For å konfigurere klienten, trengs en instans av FiksIOKonfigurasjon. Den har en tilhørende builder som kan benyttes til å angi all konfigurasjon. Eksempel:

FiksIoKonfigurasjon konfigurasjon = FiksIOKonfigurasjon.builder()
    .fiksApiKonfigurasjon(FiksApiKonfigurasjon.builder()
        .host("api.fiks.ks.no")
        .port(443)
        .scheme("https")
        .build())
    .amqpKonfigurasjon(AmqpKonfigurasjon.builder()
        .host("io.fiks.ks.no")
        .port(5671)
        .build())
    // Resten av konfigurasjonen...
    .build();

For å gjøre det enklere å sette opp standard konfigurasjon for test og prod miljøene, finnes det i tillegg to funksjoner defaultProdConfiguration og defaultTestConfiguration for å lage default konfigurasjon. Påkrevde felter angis som argument, slik:

final FiksIOKonfigurasjon fiksIOKonfigurasjon = FiksIOKonfigurasjon.defaultProdConfiguration(
    clientId,
    integrationId,
    integrationPassword,
    KontoKonfigurasjon.builder()
        .kontoId(new KontoId(kontoId))
        .privatNokkel(privateKey)
        .build(),
    VirksomhetssertifikatKonfigurasjon.builder()
        .keyAlias(keyAlias)
        .keyPassword(keyPassword)
        .keyStore(keyStore)
        .keyStorePassword(keyStorePassword)
        .build());

Konfigurasjon av Offentlig Nøkkel for mottaker

Ved oppsett av Fiks IO klienten kan man velge om man vil sette opp en egen metode for å hente offentlig nøkkel til mottaker av meldinger. Man må da lage en egen implementasjon av PublicKeyProvider med metoden X509Certificate getPublicKey(final KontoId kontoId). Altså gitt en KontoId skal den returnere en nøkkel som skal benyttes ved sending av meldinger til den kontoen. En instans av denne implementasjonen angis som argument til FiksIOKlientFactory slik: public FiksIOKlientFactory(@NonNull FiksIOKonfigurasjon fiksIOKonfigurasjon, @NonNull PublicKeyProvider publicKeyProvider)

Om man ikke angir en egen implemtasjon av PublicKeyProvider, vil klienten bli satt opp med en instans av KatalogPublicKeyProvider som vil hente offentlig nøkkel fra katalogtjenesten. Man kaller da konstruktøren til FiksIOKlientFactory med kun 1 argument slik: public FiksIOKlientFactory(@NonNull FiksIOKonfigurasjon fiksIOKonfigurasjon)

Dokumentasjon for tjeneste:

no.ks.fiks

KS

Versions

Version
1.0.11
1.0.10
1.0.9
1.0.8
1.0.7
1.0.6
1.0.5