{"id":22831216,"url":"https://github.com/cdon-dev/cdon.akamaiapiauth","last_synced_at":"2026-04-29T17:37:50.054Z","repository":{"id":134134205,"uuid":"191128676","full_name":"cdon-dev/CDON.AkamaiApiAuth","owner":"cdon-dev","description":"HttpClient authentication handler to use when interacting with Akamai's API.","archived":false,"fork":false,"pushed_at":"2019-10-28T14:05:39.000Z","size":20,"stargazers_count":1,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-06T07:11:13.714Z","etag":null,"topics":["akamai","akamai-api","authentication","authorization","cdn","dotnet","httpclient"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cdon-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-10T08:33:18.000Z","updated_at":"2022-04-04T09:19:05.000Z","dependencies_parsed_at":"2023-04-09T23:44:51.739Z","dependency_job_id":null,"html_url":"https://github.com/cdon-dev/CDON.AkamaiApiAuth","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdon-dev%2FCDON.AkamaiApiAuth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdon-dev%2FCDON.AkamaiApiAuth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdon-dev%2FCDON.AkamaiApiAuth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdon-dev%2FCDON.AkamaiApiAuth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cdon-dev","download_url":"https://codeload.github.com/cdon-dev/CDON.AkamaiApiAuth/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246403896,"owners_count":20771526,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["akamai","akamai-api","authentication","authorization","cdn","dotnet","httpclient"],"created_at":"2024-12-12T20:19:38.741Z","updated_at":"2026-04-29T17:37:49.994Z","avatar_url":"https://github.com/cdon-dev.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CDON.AkamaiApiAuth\n\nAn authentication handler for `HttpClient`.\n\nVanilla example:\n\n```csharp\nvar options = new AkamaiAuthOptions\n{\n    ClientSecret = \"CLIENTSECRET\",\n    ClientToken = \"CLIENTTOKEN\",\n    AccessToken = \"ACCESSTOKEN\"\n};\nvar handler = new AkamaiAuthHttpClientHandler(options, new HttpClientHandler());\nvar client = new HttpClient(handler);\nvar response = await client.GetAsync(\"https://akzz-XXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXX.luna.akamaiapis.net/diagnostic-tools/v2/ghost-locations/available\");\nvar result = await response.Content.ReadAsStringAsync();\n```\n\nExample for ASP.NET Core:\n\n```csharp\n// Configuration in UserSecrets, appsettings.json or similar\n{\n  \"AkamaiAuth\": {\n    \"ClientSecret\": \"CLIENTSECRET\",\n    \"ClientToken\": \"CLIENTTOKEN\",\n    \"AccessToken\": \"ACCESSTOKEN\"\n  },\n  \"AkamaiApiUrl\": \"https://akzz-XXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXX.luna.akamaiapis.net/\"\n}\n\n// ConfigureServices in Startup\nservices.Configure\u003cAkamaiAuthOptions\u003e(_configuration.GetSection(\"AkamaiAuth\"));\nservices\n    .AddHttpClient(\n        \"AkamaiAuth\", client =\u003e client.BaseAddress = _configuration.GetValue\u003cUri\u003e(\"AkamaiApiUrl\"))\n    .AddHttpMessageHandler(sp =\u003e new AkamaiAuthHttpClientHandler(\n        sp.GetService\u003cIOptions\u003cAkamaiAuthOptions\u003e\u003e().Value));\n\n// Code calling API\npublic class DiagService\n{\n    private readonly IHttpClientFactory _httpClientFactory;\n\n    public DiagService(IHttpClientFactory httpClientFactory) =\u003e _httpClientFactory = httpClientFactory;\n\n    public async Task\u003cstring\u003e GetDiag()\n    {\n        var client = _httpClientFactory.CreateClient(\"AkamaiAuth\");\n        var response = await client.GetAsync(\"diagnostic-tools/v2/ghost-locations/available\");\n        return await response.Content.ReadAsStringAsync();\n    }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdon-dev%2Fcdon.akamaiapiauth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcdon-dev%2Fcdon.akamaiapiauth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdon-dev%2Fcdon.akamaiapiauth/lists"}