Skip to content

klechr/altinn-rettigheter-proxy-klient

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Altinnrettigheter-proxy-klient

Bibliotek som tilbyr en Http klient til altinn-rettigheter-proxy. Klienten vil forsøke å kontakte Altinn via proxyen, som tilbyr caching på tvers av ulike tjenester i Nav. Klienten har en innebygd feilhåndtering, slik at dersom kall mot proxyen feiler vil det gjøres et nytt kall direkte mot Altinn sitt API.

Bruk av AltinnrettigheterProxyKlient

Biblioteket importeres i klientapplikasjon slik (eksempel med maven)

<dependency>
  <groupId>no.nav.arbeidsgiver</groupId>
  <artifactId>altinn-rettigheter-proxy-klient</artifactId>
  <version>${altinn-rettigheter-proxy-klient.version}</version>
</dependency>

Klienten instansieres slik:

String consumerId = "navn-til-klient-applikasjon";

AltinnrettigheterProxyKlientConfig config = 
    new AltinnrettigheterProxyKlientConfig(
        new ProxyConfig(consumerId, altinnProxyUrl),
    );

AltinnrettigheterProxyKlient klient = new AltinnrettigheterProxyKlient(config);

eller slik, hvis du ønsker fall-back-funksjonalitet

String consumerId = "navn-til-klient-applikasjon";

AltinnrettigheterProxyKlientConfig config =
    new AltinnrettigheterProxyKlientConfig(
         new ProxyConfig(consumerId, altinnProxyUrl),
         new AltinnConfig(altinnUrl, altinnApikey, altinnAPIGWApikey)
);

AltinnrettigheterProxyKlient klient = new AltinnrettigheterProxyKlient(config);

Da skal det være mulig å hente listen av organisasjoner AltinnReportee en bruker har enkeltrettigheter i:

For en spesifikk tuple serviceCode og serviceEdition

List<AltinnReportee> organisasjoner =  
    klient.hentOrganisasjoner(
        new SelvbetjeningToken(selvbetjeningTokenAsString),
        new Subject(fnrInnloggetBruker),
        new ServiceCode(serviceCode),
        new ServiceEdition(serviceEdition), 
        true
    );

For alle enkelterettigheter

List<AltinnReportee> organisasjoner =  
    klient.hentOrganisasjoner(
        new SelvbetjeningToken(selvbetjeningTokenAsString),
        new Subject(fnrInnloggetBruker) 
        true
     );

Hvor selvbetjeningTokenAsString er String verdi av selvbetjening-idtoken cookie til innlogget bruker.

Det er mulig å filtrere bort organisasjoner av type Person eller som ikke er aktive ved å sette siste parameteren filterPåAktiveOrganisasjoner til true

Komme i gang som utvikler

Biblioteket er skrevet i Kotlin. Koden kompileres med maven og produserer en jar fil altinn-rettigheter-proxy-klient-{version}.jar

mvn clean install

Lage og publisere en ny release

Forutsetning

Release tag skal være signert. Derfor må signering av commits være aktivert per default, med f.eks git config commit.gpgsign true

Prosess

Vi bruker mvn-release-plugin for å lage en ny release. I den prosessen skal en ny tag genereres. Artifact publiseres fra tag-en med GitHub actions.

Start med å rydde opp etter forrige release om det trenges ved å kjøre mvn release:clean

Lag en ny release med mvn release:prepare:

  • Skriv inn nytt release version (skal følge semantic versioning: https://semver.org/)
  • SCM release tag er preutfylt (bare trykk enter)
  • new development version er også preutfylt (trykk enter)

Kommandoen skal pushe en ny tag på GitHub. Da kan Build and publish action starte og release artifactene til Maven central.

Publisere til Maven Central

Credentials som skal til for å kunne publisere til Maven Central provisjoneres av publish-maven-central

Tilgjengelige versjoner: https://repo1.maven.org/maven2/no/nav/arbeidsgiver/altinn-rettigheter-proxy-klient/

Henvendelser

Spørsmål knyttet til koden eller prosjektet kan rettes mot:

For NAV-ansatte

Interne henvendelser kan sendes via Slack i kanalen #team-fager.

About

Klient bibliotek til altinn-rettigheter-proxy applikasjon

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 100.0%