Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bouwblok] authenticatie #20

Open
wants to merge 1 commit into
base: development
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ _\*: RDF/XML staat laag op de voorkeurslijst omdat andere, modernere serialisati
* [Paginering](paginering.md)
* [CRUD operaties](crud-operaties.md)
* [Taal-selectie/ontdekking](taal.md)
* [Authenticatie](authenticatie.md)

## Hypermedia controls buiten de scope van deze bouwblokken

Expand Down
36 changes: 36 additions & 0 deletions authenticatie.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
Discussie: [#7](https://github.com/pietercolpaert/generieke-hypermedia-api/issues/7)

# Authenticatie, signing en authorisatie

Om gebruik te maken van bepaalde API methoden en operaties is het vaak noodzakelijk dat een client zich authenticeert. _Authenticatie_ laat de server toe om een client uniek te identificeren en bijkomend de authorisaties van de client op te halen. _Authorisaties_ bepalen welke methoden en operaties aangeboden worden door de API aan een client. _Signing_ laat een client toe elke request naar een server te ondertekenen om zo zijn identiteit te bewijzen.

## Nakomingsniveaus

### HTTP

Een server _MOET_ ondersteuning bieden voor volgende specificaties:

* [RFC 7235 - Hypertext Transfer Protocol (HTTP/1.1): Authentication](https://tools.ietf.org/html/rfc7235#section-4.1)

### Semantisch

Een server die ondersteuning wil bieden voor Linked Data _MOET_ bijkomend volgende methodes ondersteunen:

+ __TODO__

## Code voorbeelden

De WWW-Authenticate header bevat informatie over het te gebruiken authenticatie schema. De mogelijke authenticatie schema's zijn gedefinieerd in het [Hypertext Transfer Protocol (HTTP) Authentication Scheme Registry](https://www.iana.org/assignments/http-authschemes/http-authschemes.xhtml)

```
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="example.org"
```

## Algoritme voor herkennen van crud operaties

__TODO__

## Herbruikbare library

__TODO__