{"action":"created","comment":{"url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/pulls/comments/185724386","pull_request_review_id":117162790,"id":185724386,"diff_hunk":"@@ -1 +1,206 @@\n-Comming soon.\n+# Authentication\n+\n+<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n+<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n+\n+\n+- [Document historiek](#document-historiek)\n+- [OAuth2](#oauth2)\n+  - [Introductie](#introductie)\n+  - [Registratie van de applicatie](#registratie-van-de-applicatie)\n+  - [Authenticeren als een applicatie](#authenticeren-als-een-applicatie)\n+    - [OAuth2 profiel: client_credentials](#oauth2-profiel-client_credentials)\n+      - [1) access_token ophalen](#1-access_token-ophalen)\n+      - [2) API oproepen](#2-api-oproepen)\n+  - [Authenticeren als een gebruiker](#authenticeren-als-een-gebruiker)\n+    - [OAuth2 authorizatie server](#oauth2-authorizatie-server)\n+    - [OAuth2 profiel: authorization_code](#oauth2-profiel-authorization_code)\n+      - [1) de gebruiker naar de OAuth2 authorize applicatie redirecten](#1-de-gebruiker-naar-de-oauth2-authorize-applicatie-redirecten)\n+      - [2) access_token bekomen](#2-access_token-bekomen)\n+      - [3) API oproepen](#3-api-oproepen)\n+    - [OAuth2 profiel: implicit](#oauth2-profiel-implicit)\n+  - [Uitloggen](#uitloggen)\n+  - [Het uitloggen van een gebruiker initiëren vanuit uw applicatie](#het-uitloggen-van-een-gebruiker-initi%C3%ABren-vanuit-uw-applicatie)\n+  - [De gebruiker in uw applicatie uitloggen wanneer deze in een andere applicatie uitgelogd is](#de-gebruiker-in-uw-applicatie-uitloggen-wanneer-deze-in-een-andere-applicatie-uitgelogd-is)\n+- [SAML](#saml)\n+\n+<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n+\n+# Document historiek\n+\n+Versie   | Auteur                 | Datum      | Opmerkingen\n+------   | -------                | -----      | ------------\n+1        | Dries Droesbeke | 13/06/2017 | Initial draft.\n+\n+# OAuth2\n+\n+## Introductie\n+\n+Applications kunnen OAuth2 gebruiken om a/mprofielen te laten authenticeren.\n+\n+## Registratie van de applicatie\n+\n+Op de API store kan je uw eigen applicatie registreren. Deze dien je aan te maken in de organisatie waartoe de applicatie behoort.\n+\n+Indien er nog geen organisatie is dien je deze ook aan te maken.\n+\n+Voor iedere omgeving is er een aparte omgeving opgezet:\n+* https://api-store-o.antwerpen.be\n+* https://api-store-a.antwerpen.be\n+* https://api-store.antwerpen.be\n+\n+Nadat je uw applicatie aangemaakt heb kan je een contract aanmaken met de A-Profiel en/of M-Profiel API.\n+\n+De OAuth2 client_id en client_secret kan je bij de detail gegevens van uw applicatie vinden. Afhankelijk van de API is er nog een goedkeuring nodig van de beheerder van de API. Deze goedkeuringsflow verloopt gehaal automatisch.\n+\n+De OAuth2 tokens zijn geldig voor alle OAuth2 services waarvoor uw applicatie een contract heeft.\n+\n+## Authenticeren als een applicatie\n+\n+### OAuth2 profiel: client_credentials\n+\n+![](img/client_credentials.png)\n+\n+#### 1) access_token ophalen\n+\n+*Request:*\n+\n+curl -X POST -d \"client_id={{CLIENT_ID}}&client_secret={{CLIENT_SECRET}}&grant_type=client_credentials\" https://api-gw-p.antwerpen.be/org/service/v1/oauth2/token\n+\n+*Response:*\n+\n+{\"token_type\":\"bearer\",\"access_token\":\"8c5b38ffee744ac6bd1e18eae5cbd406\",\"expires_in\":7200}\n+\n+#### 2) API oproepen\n+*Request:*\n+\n+curl -v -H \"Authorization: Bearer {{ACCESS_TOKEN_FROM_PREVIOUS_STEP}}\" 'https://api-gw-p.antwerpen.be/astad/aprofiel/v1/me'\n+\n+## Authenticeren als een gebruiker\n+\n+### OAuth2 authorizatie server\n+\n+De OAuth2 authorize server kan je op volgende locatie vinden:\n+* https://api-oauth2-o.antwerpen.be\n+* https://api-oauth2-a.antwerpen.be\n+* https://api-oauth2.antwerpen.be\n+\n+Een voorbeeld redirect naar de authorizatie ziet er zo uit:\n+```\n+https://api-oauth2.antwerpen.be/v1/authorize?\n+response_type=code\n+&service=astad.aprofiel.v1\n+&client_id=YOUR_CLIENT_ID\n+&scope=astad.aprofiel.v1.username%20astad.aprofiel.v1.name%20astad.aprofiel.v1.avatar%20astad.aprofiel.v1.email%20astad.aprofiel.v1.phone\n+&redirect_uri=YOUR_REDIRECT_URI\n+&state=thisParameterWillBeAddedToTheRedirectUri\n+&save_consent=true\n+```\n+\n+| Parameter | Verplicht | Omschrijving |\n+| :---         |     :---:      |  :---   |\n+| response_type   | true     | Voor de authorization_code flow dien je hier 'code' te gebruiken .    |\n+| client_id     | true       | De client_id die je kan terugvinden bij uw applicatie in de API store.\n+| scope     | true       | Een door comma's gescheiden lijst van scopes die de gebruiker dient goed te keuren.      |\n+| redirect_uri     | true       | De redirect_uri die overeenkomt met diegene die is ingegeven in de API store voor uw applicatie.\n+| redirect_uri_lng     | false       | Als deze waarde op 'true' staat zal de redirect_uri een extra parameter 'lng' hebben wanneer de gebruiker de OAuth2 authorize applicatie verlaat. De waarde voor de 'lng' querystring parameter zal overeenkomen met de taal op de Authorize applicatie. |\n+| service     | true       | De service die je wil gebruiker om een gebruiker te authenticeren. Dit kan 'astad.aprofiel.v1' of 'astad.mprofiel.v1' zijn.    |\n+| state     | false      | We raden aan om deze parameter te voorzien in de redirect naar de authorize applicatie met een referentie naar de sessie van de gebruiker. Aangezien de parameter opnieuw zal worden meegeven in de redirect_uri, kan uw applicatie valideren of de Authorize flow gestart is vanuit uw applicatie.     |\n+| lng     | false       | De taal voor de authorize applicatie. Standaard staat deze op 'nl'. Beschikbare talen zijn nl, fr, en, de.     |\n+| force_auth     | false       | Als een gebruiker al een SSO sessie heeft op de achterliggende IDP kan je met deze parameter aangeven dat je de gebruiker verplicht opnieuw wil laten aanmelden.     |\n+| save_consent | false | Als je deze op 'true' zet, zal de authorize applicatie de gegeven consent onthouden voor uw applicatie/gebruiker/scopes. |\n+\n+\n+\n+\n+\n+### OAuth2 profiel: authorization_code\n+\n+![](img/authorization_code.png)\n+\n+Als uw applicatie met aprofielen of medewerkers wil laten inloggen en gegevens over deze gebruiker wenst op te halen moet de applicatie een geldig contract hebben met de \"aprofiel\" of \"mprofiel\" API.\n+\n+Technische implementatie details en een werkende NodeJS demo applicatie kan je hier vinden:\n+https://github.com/digipolisantwerp/demo-oauth2-consumer_app_nodejs\n+\n+#### 1) de gebruiker naar de OAuth2 authorize applicatie redirecten\n+\n+Een authorization_code kan je bekomen door de gebruiker naar de OAuth2 Authorize applicatie te redirecten.\n+\n+\n+#### 2) access_token bekomen\n+\n+Nadat de gebruiker is ingelogd en zijn goedkeuring(consent) heeft gegeven zal de gebruiker naar de redirect_uri geredirect worden die je hebt ingegeven in de details van uw applicatie op de API store;\n+\n+Deze redirect_uri bevat een *code* querystring parameter als de authenticatie succesvol is. Bijvoorbeeld:\n+https://domain.com/callback?code=123\n+\n+*Request:*\n+\n+curl -X POST -d \"client_id={{CLIENT_ID}}&client_secret={{CLIENT_SECRET}}&code={{CODE_FROM_PREV_STEP}}&grant_type=authorization_code\" https://api-gw-p.antwerpen.be/org/service/v1/oauth2/token\n+\n+*Response:*\n+{\"refresh_token\":\"66f0c43c27a94ad4aa2d7574cf7b4465\",\"token_type\":\"bearer\",\"access_token\":\"a2824fb10b2a44b2b6f1a4aba382630a\",\"expires_in\":7200}\n+\n+#### 3) API oproepen\n+curl -v -H \"Authorization: Bearer {{ACCESS_TOKEN_FROM_PREVIOUS_STEP}}\" 'https://api-gw-p.antwerpen.be/org/service/v1/resource'\n+\n+\n+### OAuth2 profiel: implicit\n+\n+Hoewel het \"implicit\" OAuth2 profiel beschikbaar is op de API gateway raden we aan om deze niet te gebruiken.\n+\n+Voornamelijk omwille van onderstaande redenen:\n++ Access_tokens die zijn aangemaakt met de implicit/token flow zijn slechts 2 uur gelding en kunnen niet verlengd worden.\n++ Aangezien de client_secret niet gebruikt wordt om een access_token aan te vragen is dit OAuth2 profiel vatbaarder voor security issues.\n+\n+## Uitloggen\n+\n+## Het uitloggen van een gebruiker initiëren vanuit uw applicatie\n+\n+De OAuth2 authorizatie server bevat ook de mogelijkheid om gebruikers centraal te laten uitloggen.\n+\n+Om dit te bereiken moet je de gebruiker redirecten naar de \"/logout/redirect/encrypted\" endpoint van de OAuth2 authorizatie server met onderstaande querystring parameters.\n+\n+| Parameter | Verplicht | Omschrijving |\n+| :---         |     :---:      |  :---   |\n+| client_id     | true       | De client_id die je kan terugvinden bij uw applicatie in de API store.","path":"README.md","position":168,"original_position":168,"commit_id":"d47b04866a8fd64780f9e895e3a3068758b65862","original_commit_id":"d47b04866a8fd64780f9e895e3a3068758b65862","user":{"login":"PeterClaes","id":12666388,"avatar_url":"https://avatars1.githubusercontent.com/u/12666388?v=4","gravatar_id":"","url":"https://api.github.com/users/PeterClaes","html_url":"https://github.com/PeterClaes","followers_url":"https://api.github.com/users/PeterClaes/followers","following_url":"https://api.github.com/users/PeterClaes/following{/other_user}","gists_url":"https://api.github.com/users/PeterClaes/gists{/gist_id}","starred_url":"https://api.github.com/users/PeterClaes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PeterClaes/subscriptions","organizations_url":"https://api.github.com/users/PeterClaes/orgs","repos_url":"https://api.github.com/users/PeterClaes/repos","events_url":"https://api.github.com/users/PeterClaes/events{/privacy}","received_events_url":"https://api.github.com/users/PeterClaes/received_events","type":"User","site_admin":false},"body":"**jouw** applicatie","created_at":"2018-05-03T08:21:00Z","updated_at":"2018-05-03T08:32:11Z","html_url":"https://github.com/digipolisantwerpdocumentation/authentication/pull/1#discussion_r185724386","pull_request_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/pulls/1","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/pulls/comments/185724386"},"html":{"href":"https://github.com/digipolisantwerpdocumentation/authentication/pull/1#discussion_r185724386"},"pull_request":{"href":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/pulls/1","id":182183857,"html_url":"https://github.com/digipolisantwerpdocumentation/authentication/pull/1","diff_url":"https://github.com/digipolisantwerpdocumentation/authentication/pull/1.diff","patch_url":"https://github.com/digipolisantwerpdocumentation/authentication/pull/1.patch","issue_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/issues/1","number":1,"state":"open","locked":false,"title":"initial version","user":{"login":"driesdroesbeke","id":600439,"avatar_url":"https://avatars0.githubusercontent.com/u/600439?v=4","gravatar_id":"","url":"https://api.github.com/users/driesdroesbeke","html_url":"https://github.com/driesdroesbeke","followers_url":"https://api.github.com/users/driesdroesbeke/followers","following_url":"https://api.github.com/users/driesdroesbeke/following{/other_user}","gists_url":"https://api.github.com/users/driesdroesbeke/gists{/gist_id}","starred_url":"https://api.github.com/users/driesdroesbeke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/driesdroesbeke/subscriptions","organizations_url":"https://api.github.com/users/driesdroesbeke/orgs","repos_url":"https://api.github.com/users/driesdroesbeke/repos","events_url":"https://api.github.com/users/driesdroesbeke/events{/privacy}","received_events_url":"https://api.github.com/users/driesdroesbeke/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-04-17T14:24:07Z","updated_at":"2018-05-03T08:32:12Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5b0a3cda9f33438833f83b58133163f5219a5700","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/pulls/1/commits","review_comments_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/pulls/1/comments","review_comment_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/pulls/comments{/number}","comments_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/issues/1/comments","statuses_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/statuses/d47b04866a8fd64780f9e895e3a3068758b65862","head":{"label":"digipolisantwerpdocumentation:init","ref":"init","sha":"d47b04866a8fd64780f9e895e3a3068758b65862","user":{"login":"digipolisantwerpdocumentation","id":36622823,"avatar_url":"https://avatars3.githubusercontent.com/u/36622823?v=4","gravatar_id":"","url":"https://api.github.com/users/digipolisantwerpdocumentation","html_url":"https://github.com/digipolisantwerpdocumentation","followers_url":"https://api.github.com/users/digipolisantwerpdocumentation/followers","following_url":"https://api.github.com/users/digipolisantwerpdocumentation/following{/other_user}","gists_url":"https://api.github.com/users/digipolisantwerpdocumentation/gists{/gist_id}","starred_url":"https://api.github.com/users/digipolisantwerpdocumentation/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/digipolisantwerpdocumentation/subscriptions","organizations_url":"https://api.github.com/users/digipolisantwerpdocumentation/orgs","repos_url":"https://api.github.com/users/digipolisantwerpdocumentation/repos","events_url":"https://api.github.com/users/digipolisantwerpdocumentation/events{/privacy}","received_events_url":"https://api.github.com/users/digipolisantwerpdocumentation/received_events","type":"Organization","site_admin":false},"repo":{"id":129915778,"name":"authentication","full_name":"digipolisantwerpdocumentation/authentication","owner":{"login":"digipolisantwerpdocumentation","id":36622823,"avatar_url":"https://avatars3.githubusercontent.com/u/36622823?v=4","gravatar_id":"","url":"https://api.github.com/users/digipolisantwerpdocumentation","html_url":"https://github.com/digipolisantwerpdocumentation","followers_url":"https://api.github.com/users/digipolisantwerpdocumentation/followers","following_url":"https://api.github.com/users/digipolisantwerpdocumentation/following{/other_user}","gists_url":"https://api.github.com/users/digipolisantwerpdocumentation/gists{/gist_id}","starred_url":"https://api.github.com/users/digipolisantwerpdocumentation/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/digipolisantwerpdocumentation/subscriptions","organizations_url":"https://api.github.com/users/digipolisantwerpdocumentation/orgs","repos_url":"https://api.github.com/users/digipolisantwerpdocumentation/repos","events_url":"https://api.github.com/users/digipolisantwerpdocumentation/events{/privacy}","received_events_url":"https://api.github.com/users/digipolisantwerpdocumentation/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/digipolisantwerpdocumentation/authentication","description":null,"fork":false,"url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication","forks_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/forks","keys_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/keys{/key_id}","collaborators_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/teams","hooks_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/hooks","issue_events_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/issues/events{/number}","events_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/events","assignees_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/assignees{/user}","branches_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/branches{/branch}","tags_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/tags","blobs_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/git/refs{/sha}","trees_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/git/trees{/sha}","statuses_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/statuses/{sha}","languages_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/languages","stargazers_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/stargazers","contributors_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/contributors","subscribers_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/subscribers","subscription_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/subscription","commits_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/commits{/sha}","git_commits_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/git/commits{/sha}","comments_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/comments{/number}","issue_comment_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/issues/comments{/number}","contents_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/contents/{+path}","compare_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/compare/{base}...{head}","merges_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/merges","archive_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/downloads","issues_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/issues{/number}","pulls_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/pulls{/number}","milestones_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/milestones{/number}","notifications_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/labels{/name}","releases_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/releases{/id}","deployments_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/deployments","created_at":"2018-04-17T14:18:28Z","updated_at":"2018-04-17T14:20:49Z","pushed_at":"2018-04-18T12:29:17Z","git_url":"git://github.com/digipolisantwerpdocumentation/authentication.git","ssh_url":"git@github.com:digipolisantwerpdocumentation/authentication.git","clone_url":"https://github.com/digipolisantwerpdocumentation/authentication.git","svn_url":"https://github.com/digipolisantwerpdocumentation/authentication","homepage":null,"size":46,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"digipolisantwerpdocumentation:master","ref":"master","sha":"c4dab67dd32eb4de8d2eb9925211d1e8f631f16d","user":{"login":"digipolisantwerpdocumentation","id":36622823,"avatar_url":"https://avatars3.githubusercontent.com/u/36622823?v=4","gravatar_id":"","url":"https://api.github.com/users/digipolisantwerpdocumentation","html_url":"https://github.com/digipolisantwerpdocumentation","followers_url":"https://api.github.com/users/digipolisantwerpdocumentation/followers","following_url":"https://api.github.com/users/digipolisantwerpdocumentation/following{/other_user}","gists_url":"https://api.github.com/users/digipolisantwerpdocumentation/gists{/gist_id}","starred_url":"https://api.github.com/users/digipolisantwerpdocumentation/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/digipolisantwerpdocumentation/subscriptions","organizations_url":"https://api.github.com/users/digipolisantwerpdocumentation/orgs","repos_url":"https://api.github.com/users/digipolisantwerpdocumentation/repos","events_url":"https://api.github.com/users/digipolisantwerpdocumentation/events{/privacy}","received_events_url":"https://api.github.com/users/digipolisantwerpdocumentation/received_events","type":"Organization","site_admin":false},"repo":{"id":129915778,"name":"authentication","full_name":"digipolisantwerpdocumentation/authentication","owner":{"login":"digipolisantwerpdocumentation","id":36622823,"avatar_url":"https://avatars3.githubusercontent.com/u/36622823?v=4","gravatar_id":"","url":"https://api.github.com/users/digipolisantwerpdocumentation","html_url":"https://github.com/digipolisantwerpdocumentation","followers_url":"https://api.github.com/users/digipolisantwerpdocumentation/followers","following_url":"https://api.github.com/users/digipolisantwerpdocumentation/following{/other_user}","gists_url":"https://api.github.com/users/digipolisantwerpdocumentation/gists{/gist_id}","starred_url":"https://api.github.com/users/digipolisantwerpdocumentation/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/digipolisantwerpdocumentation/subscriptions","organizations_url":"https://api.github.com/users/digipolisantwerpdocumentation/orgs","repos_url":"https://api.github.com/users/digipolisantwerpdocumentation/repos","events_url":"https://api.github.com/users/digipolisantwerpdocumentation/events{/privacy}","received_events_url":"https://api.github.com/users/digipolisantwerpdocumentation/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/digipolisantwerpdocumentation/authentication","description":null,"fork":false,"url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication","forks_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/forks","keys_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/keys{/key_id}","collaborators_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/teams","hooks_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/hooks","issue_events_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/issues/events{/number}","events_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/events","assignees_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/assignees{/user}","branches_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/branches{/branch}","tags_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/tags","blobs_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/git/refs{/sha}","trees_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/git/trees{/sha}","statuses_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/statuses/{sha}","languages_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/languages","stargazers_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/stargazers","contributors_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/contributors","subscribers_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/subscribers","subscription_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/subscription","commits_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/commits{/sha}","git_commits_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/git/commits{/sha}","comments_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/comments{/number}","issue_comment_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/issues/comments{/number}","contents_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/contents/{+path}","compare_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/compare/{base}...{head}","merges_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/merges","archive_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/downloads","issues_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/issues{/number}","pulls_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/pulls{/number}","milestones_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/milestones{/number}","notifications_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/labels{/name}","releases_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/releases{/id}","deployments_url":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/deployments","created_at":"2018-04-17T14:18:28Z","updated_at":"2018-04-17T14:20:49Z","pushed_at":"2018-04-18T12:29:17Z","git_url":"git://github.com/digipolisantwerpdocumentation/authentication.git","ssh_url":"git@github.com:digipolisantwerpdocumentation/authentication.git","clone_url":"https://github.com/digipolisantwerpdocumentation/authentication.git","svn_url":"https://github.com/digipolisantwerpdocumentation/authentication","homepage":null,"size":46,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/pulls/1"},"html":{"href":"https://github.com/digipolisantwerpdocumentation/authentication/pull/1"},"issue":{"href":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/issues/1"},"comments":{"href":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/digipolisantwerpdocumentation/authentication/statuses/d47b04866a8fd64780f9e895e3a3068758b65862"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"PeterClaes"}}