Example #1
0
        private List <Person> GetPersonsFromFINTApi()
        {
            var parser  = new HalJsonParser();
            var factory = new HalHttpClientFactory(parser);

            var tokenClient   = new TokenClient(OAuthSettings.accessTokenUri, OAuthSettings.clientId, OAuthSettings.clientSecret);
            var tokenResponse = tokenClient.RequestResourceOwnerPasswordAsync(OAuthSettings.username, OAuthSettings.password, OAuthSettings.scope).Result;

            var persons = new List <Person>();

            using (var client = factory.CreateClient())
            {
                client.HttpClient.SetBearerToken(tokenResponse.AccessToken);

                var response = client
                               .GetAsync(new Uri(
                                             OAuthSettings.felleskomponentUri + OAuthSettings.additionalAdministrasjonPersonalPersonUri)).Result;
                var links    = response.Resource.Links;
                var embedded = response.Resource.Embedded;
                var entries  = embedded["_entries"].ToList();
                entries.ForEach(e => persons.Add(PersonFactory.create(e.State)));
            }
            return(persons);
        }