Feide Connect-tjenester (Dataporten/Nye feide)

Denne tjenesten vil bli avviklet etter 31.03.2027.

Disse tjenestene leverer gruppedata og medlemsdata for Feidebrukere i FS til en tjeneste ved Uninett som ved implementasjon het Feide Connect.  FC var kun et prosjekt navn, som etter hvert ble endret til Dataporten.

Dataporten  holdes på å slå sammen med Feide til å bli "nye Feide" av Uninett.

Dersom du ønsker mer info om Dataporten/Feide, ta kontakt med Uninett.

https://www.feide.no/nye-feide

https://docs.feide.no/general/feide_overview.html

Informasjon om FS-integrasjonen  finnes her:  

https://docs.feide.no/reference/oauth_oidc/groups_data_model.html#

Per idag tilbyr FS to tjenester  som er operativ via Nye Feide.Disse tjenestene kan brukes av hvem som helst, men endringer skjer på Uninett sine premisser.

Eksempler

Alle Java-eksempler benytter seg av Apache HTTP Client

Alle eksempler går mot vår kursbase så eventuelle data man ser her er fiktive.

Tilgjengelige grensesnitt

 

Hent grupper for en bruker

Denne tjenesten henter alle grupper som en bruker er medlem av. Per i dag er følgende definert som grupper:

  • Emner (undervisning og vurdering)
  • Studieprogram
  • Kull
  • Klasser
  • Studieretninger

Dette er en GET-tjeneste som returnerer en JSON-liste definert i API på feide connect sine sider.

URL for test: https://fs-test.uio.no/fsrest/rest/fc/user/<userid>/groups
URL for prod: https://fsws.usit.no/fsrest/rest/fc/user/<userid>/groups

Der <userid> kan ha to former:

  • feide:brukernavn@domene
  • nin:fødselsnummer@domene

Java-eksempel

import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

public class GetGrupper {

    private static String theUrl = "https://fs-test.uio.no/fsrest/rest/fc/user/feide:soker@fssbkurs.no/groups";


    public static void main(String[] args) throws Exception {
        HttpHost target = new HttpHost("fs-test.uio.no", 443, "https");
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
        credsProvider.setCredentials(
            new AuthScope(target.getHostName(), target.getPort()),
            new UsernamePasswordCredentials("brukernavn", "passord"));
        CloseableHttpClient client = HttpClients.custom()
            .setDefaultCredentialsProvider(credsProvider).build();

        AuthCache authCache = new BasicAuthCache();
        BasicScheme basicAuth = new BasicScheme();
        authCache.put(target, basicAuth);

        HttpClientContext localContext = HttpClientContext.create();
        localContext.setAuthCache(authCache);

        HttpGet get = new HttpGet(theUrl);

        HttpResponse response = client.execute(get);
        response.getEntity().writeTo(System.out);
    }
}

Eksempel på svar

[  
   {  
      "id":"fc:fs:prg:fssbkurs.no:TS-MN1",
      "type":"fc:fs:prg",
      "parent":"fc:org:fssbkurs.no",
      "membership":{  
         "basic":"member",
         "fsroles":[  
            "STUDENT"
         ],
         "active":true,
         "displayName":{  
            "nb":"Student",
            "nn":"Student",
            "en":"Student"
         }
      },
      "displayName":{  
         "nb":"Kjemi",
         "nn":"NYNKEM",
         "en":"MN"
      }
   },
   {  
      "id":"fc:fs:klasse:fssbkurs.no:TS-MN1:2014V:A",
      "type":"fc:fs:klasse",
      "parent":"fc:fs:kull:fssbkurs.no:TS-MN1:2014V",
      "membership":{  
         "basic":"member",
         "fsroles":[  
            "STUDENT"
         ],
         "active":false,
         "notAfter":"2014-01-01T12:38:31+0100",
         "displayName":{  
            "nb":"Student",
            "nn":"Student",
            "en":"Student"
         }
      },
      "displayName":{  
         "nb":"Klasse Kjemi A Vår 2014",
         "nn":"Klasse NYNKEM A Vår 2014",
         "en":"Class MN A of Spring 2014"
      }
   },
   {  
      "id":"fc:fs:klasse:fssbkurs.no:TS-MN1:2014H:B",
      "type":"fc:fs:klasse",
      "parent":"fc:fs:kull:fssbkurs.no:TS-MN1:2014H",
      "membership":{  
         "basic":"member",
         "fsroles":[  
            "STUDENT"
         ],
         "active":false,
         "notAfter":"2014-01-01T12:38:31+0100",
         "displayName":{  
            "nb":"Student",
            "nn":"Student",
            "en":"Student"
         }
      },
      "displayName":{  
         "nb":"Klasse Kjemi B Høst 2014",
         "nn":"Klasse NYNKEM B Haust 2014",
         "en":"Class MN B of Autumn 2014"
      }
   },
   {  
      "id":"fc:fs:klasse:fssbkurs.no:TS-MN1:2013H:1",
      "type":"fc:fs:klasse",
      "parent":"fc:fs:kull:fssbkurs.no:TS-MN1:2013H",
      "membership":{  
         "basic":"member",
         "fsroles":[  
            "STUDENT"
         ],
         "active":false,
         "notAfter":"2013-01-01T12:38:31+0100",
         "displayName":{  
            "nb":"Student",
            "nn":"Student",
            "en":"Student"
         }
      },
      "displayName":{  
         "nb":"Klasse Kjemi 1 Høst 2013",
         "nn":"Klasse NYNKEM 1 Haust 2013",
         "en":"Class MN 1 of Autumn 2013"
      }
   },
   {  
      "id":"fc:fs:kull:fssbkurs.no:TS-MN1:2014H",
      "type":"fc:fs:kull",
      "parent":"fc:fs:prg:TS-MN1",
      "membership":{  
         "basic":"member",
         "fsroles":[  
            "STUDENT"
         ],
         "active":false,
         "notAfter":"2014-01-01T12:38:31+0100",
         "displayName":{  
            "nb":"Student",
            "nn":"Student",
            "en":"Student"
         }
      },
      "displayName":{  
         "nb":"Kull for Høst 2014 Kjemi",
         "nn":"Kull for Haust 2014 NYNKEM",
         "en":"Class of Autumn 2014 MN"
      }
   },
   {  
      "id":"fc:fs:kull:fssbkurs.no:TS-MN1:2013H",
      "type":"fc:fs:kull",
      "parent":"fc:fs:prg:TS-MN1",
      "membership":{  
         "basic":"member",
         "fsroles":[  
            "STUDENT"
         ],
         "active":false,
         "notAfter":"2013-01-01T12:38:31+0100",
         "displayName":{  
            "nb":"Student",
            "nn":"Student",
            "en":"Student"
         }
      },
      "displayName":{  
         "nb":"Kull for Høst 2013 Kjemi",
         "nn":"Kull for Haust 2013 NYNKEM",
         "en":"Class of Autumn 2013 MN"
      }
   },
   {  
      "id":"fc:fs:klasse:fssbkurs.no:TS-MN1:2015V:C",
      "type":"fc:fs:klasse",
      "parent":"fc:fs:kull:fssbkurs.no:TS-MN1:2015V",
      "membership":{  
         "basic":"member",
         "fsroles":[  
            "STUDENT"
         ],
         "active":true,
         "displayName":{  
            "nb":"Student",
            "nn":"Student",
            "en":"Student"
         }
      },
      "displayName":{  
         "nb":"Klasse Kjemi C Vår 2015",
         "nn":"Klasse NYNKEM C Vår 2015",
         "en":"Class MN C of Spring 2015"
      }
   },
   {  
      "id":"fc:fs:kull:fssbkurs.no:TS-MN1:2015V",
      "type":"fc:fs:kull",
      "parent":"fc:fs:prg:TS-MN1",
      "membership":{  
         "basic":"member",
         "fsroles":[  
            "STUDENT"
         ],
         "active":true,
         "displayName":{  
            "nb":"Student",
            "nn":"Student",
            "en":"Student"
         }
      },
      "displayName":{  
         "nb":"Kull for Vår 2015 Kjemi",
         "nn":"Kull for Vår 2015 NYNKEM",
         "en":"Class of Spring 2015 MN"
      }
   },
   {  
      "id":"fc:fs:kull:fssbkurs.no:TS-MN1:2014V",
      "type":"fc:fs:kull",
      "parent":"fc:fs:prg:TS-MN1",
      "membership":{  
         "basic":"member",
         "fsroles":[  
            "STUDENT"
         ],
         "active":false,
         "notAfter":"2014-01-01T12:38:31+0100",
         "displayName":{  
            "nb":"Student",
            "nn":"Student",
            "en":"Student"
         }
      },
      "displayName":{  
         "nb":"Kull for Vår 2014 Kjemi",
         "nn":"Kull for Vår 2014 NYNKEM",
         "en":"Class of Spring 2014 MN"
      }
   },
   {  
      "id":"fc:fs:prg:fssbkurs.no:HFB3-SPR",
      "type":"fc:fs:prg",
      "parent":"fc:org:fssbkurs.no",
      "membership":{  
         "basic":"member",
         "fsroles":[  
            "STUDENT"
         ],
         "active":false,
         "notAfter":"2014-03-26T00:00:00+0100",
         "displayName":{  
            "nb":"Student",
            "nn":"Student",
            "en":"Student"
         }
      },
      "displayName":{  
         "nb":"Språk 3"
      }
   }
]

Hent medlemmer for en gruppe

Dette endepunktet vil bli avviklet etter 1.3.2026

Denne tjenesten henter alle medlemmer i en gitt gruppe.

URL for test: https://fs-test.uio.no/fsrest/rest/fc/group/<groupid>/members
URL for prod: https://fsws.usit.no/fsrest/rest/fc/group/<groupid>/members

Der <groupid> er på formen fc:fs:<type>:<domene>:<id> der tupe er:

  • emne - Emner (undervisning og vurdering)
  • prg - Studieprogram
  • kull - Kull
  • klasse- Klasser
  • str - Studieretninger

Java eksempel

import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

public class GetMedlemmer {

    private static String theUrl = "https://fs-test.uio.no/fsrest/rest/fc/group/fc:fs:str:fssbkurs.no:AL/members";


    public static void main(String[] args) throws Exception {
        HttpHost target = new HttpHost("fs-test.uio.no", 443, "https");
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
        credsProvider.setCredentials(
            new AuthScope(target.getHostName(), target.getPort()),
            new UsernamePasswordCredentials("brukernavn", "passord"));
        CloseableHttpClient client = HttpClients.custom()
            .setDefaultCredentialsProvider(credsProvider).build();

        AuthCache authCache = new BasicAuthCache();
        BasicScheme basicAuth = new BasicScheme();
        authCache.put(target, basicAuth);

        HttpClientContext localContext = HttpClientContext.create();
        localContext.setAuthCache(authCache);

        HttpGet get = new HttpGet(theUrl);

        HttpResponse response = client.execute(get);
        response.getEntity().writeTo(System.out);
    }
}

Eksempel på svar

[  
   {  
      "userid":"nin:05615490034@fssbkurs.no",
      "name":"Siri Høgvoll",
      "mail":"ale02sho@uio.no",
      "basic":"member",
      "displayName":{  
         "nb":"Student",
         "nn":"Student",
         "en":"Student"
      }
   },
   {  
      "userid":"nin:12528990019@fssbkurs.no",
      "name":"Fredrik Gravdahl",
      "mail":null,
      "basic":"member",
      "displayName":{  
         "nb":"Student",
         "nn":"Student",
         "en":"Student"
      }
   },
   {  
      "userid":"nin:27617990186@fssbkurs.no",
      "name":"Birger Ulvik",
      "mail":null,
      "basic":"member",
      "displayName":{  
         "nb":"Student",
         "nn":"Student",
         "en":"Student"
      }
   }
]
Av Kine V. Lund
Publisert 28. mars 2014 12:30 - Sist endret 23. jan. 2026 13:43