Re: nikita med beta versjon av fulltesktsøk

Ole Aamot ole at aamotsoftware.no
Sun Jun 27 16:45:31 CEST 2021


On Jun 27, 2021, at 1:23 PM, Petter Reinholdtsen <pere at hungry.com> wrote:
> 
> [Ole Aamot]
>> Stavefeil i "Accept:application/vnd.noark5+json"?
> 
> Kanskje.  Hva tenker du på?  Manglende mellomrom etter : virker litt
> suspekt.

$ curl --header "Accept: application/vnd.noark5+json" --header "Authorization: Bearer esg7Qhv8hM0edCfxqPFxDDrTmsA" -X GET "https://nikita.oslomet.no/noark5v5/api/arkivstruktur/dokumentobjekt?%24search=arkivverket"
{"error":"invalid_token","error_description":"Invalid access token: esg7Qhv8hM0edCfxqPFxDDrTmsA”}%

>> Hvordan bygger jeg CHECKSUM i Authorization: Bearer <CHECKSUM>?
> 
> Det er vel en JWT-signatur, ikke en sjekksum.  Har ikke satt meg inn i
> detaljene, bruker stort sett et jwt-bibliotek til slikt.

OK.  Jeg fant relevant kode i src/main/java/nikita/webapp/config/WebappProperties.java

    public static class Security {

        private final Authentication authentication = new Authentication();

        public Authentication getAuthentication() {
            return authentication;
        }

        public static class Authentication {

            private final Jwt jwt = new Jwt();

            public Jwt getJwt() {
                return jwt;
            }

            public static class Jwt {

                private String secret;

                private long tokenValidityInSeconds = 1800;
                private long tokenValidityInSecondsForRememberMe = 2592000;

                public String getSecret() {
                    return secret;
                }

                public void setSecret(String secret) {
                    this.secret = secret;
                }

                public long getTokenValidityInSeconds() {
                    return tokenValidityInSeconds;
                }

                public void setTokenValidityInSeconds(long tokenValidityInSeconds) {
                    this.tokenValidityInSeconds = tokenValidityInSeconds;
                }

                public long getTokenValidityInSecondsForRememberMe() {
                    return tokenValidityInSecondsForRememberMe;
                }

                public void setTokenValidityInSecondsForRememberMe(long tokenValidityInSecondsForRememberMe) {
                    this.tokenValidityInSecondsForRememberMe = tokenValidityInSecondsForRememberMe;
                }
            }
        }
    }

Hvordan oppretter jeg en gyldig access token (Jwt.secret) til autentisering mot Nikita Noark5 Core via curl?

Ellers må jeg vel benytte username og passord?

Logger du inn med en standard konto (admin at example.com <mailto:admin at example.com>) i lib/n5core/endpoint.py i noark5-tester siden search-test fungerer uten access token?

search-test:        self.login()
[…]
lib/n5core/endpoint.py:    def login(self, username = None, password = None):
[...]
              if username is None:
                    username = 'admin at example.com'
                if password is None:
                    password = 'password'

> 
>> Fulltekstsøket fungerer.
> 
> Godt. :)

Det fungerer ikke uten autentisering enten med access token (og det er litt uklart hvordan en
oppretter en access tokens til Nikita Noark5 Core i Jwt) eller med standard konto med kjent
username/password.

—
Ole Aamot
Aamot Software
Mobile phone: +4745049800
Web: www.aamotsoftware.no <http://www.aamotsoftware.no/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.nuug.no/pipermail/nikita-noark/attachments/20210627/e26a0513/attachment.html 


More information about the nikita-noark mailing list