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

Support a default provider for OIDC + new example #373

Merged
merged 2 commits into from
Apr 8, 2021
Merged
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 CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Clarified how process exceptions should be used. [#352](https://github.com/Open-EO/openeo-api/issues/352)
- Clarified that billing plans, service names and file formats must be accepted case-insensitive. [#371](https://github.com/Open-EO/openeo-api/issues/371)
- Clarified that the first provider listed at `GET /credentials/oidc` is the default provider for OpenID Connect.
- Fixed casing of potential endpoints `GET /collections/{collection_id}/items` and `GET /collections/{collection_id}/items/{feature_id}`.

## 1.0.1 - 2020-12-07
Expand Down
26 changes: 22 additions & 4 deletions openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1711,16 +1711,14 @@ paths:
get:
summary: OpenID Connect authentication
operationId: authenticate-oidc
description: >-
description: |-
Lists the supported [OpenID Connect](http://openid.net/connect/)
providers (OP). OpenID Connect Providers MUST support [OpenID Connect
Discovery](http://openid.net/specs/openid-connect-discovery-1_0.html).


It is highly RECOMMENDED to implement OpenID Connect for public services
in favor of Basic authentication.


openEO clients MUST use the **access token** as part of the Bearer token
for authorization in subsequent API calls (see also the information
about Bearer tokens in this document). Clients MUST NOT use the id token
Expand All @@ -1737,7 +1735,6 @@ paths:
(replace `TOKEN` with the actual access token received from the OpenID
Connect Provider).


Back-ends MAY request user information ([including Claims](https://openid.net/specs/openid-connect-core-1_0.html#Claims))
from the [OpenID Connect Userinfo endpoint](https://openid.net/specs/openid-connect-core-1_0.html#UserInfo)
using the access token (without the prefix described above). Therefore,
Expand All @@ -1760,6 +1757,10 @@ paths:
properties:
providers:
type: array
description: >-
The first provider in this list is the default provider for authentication.
Clients can either pre-select or directly use the default provider for authentication
if the user doesn't specify a specific value.
minItems: 1
items:
title: OpenID Connect Provider
Expand Down Expand Up @@ -1891,6 +1892,23 @@ paths:
$ref: '#/components/schemas/link'
example:
providers:
- id: egi
issuer: 'https://aai.egi.eu/oidc'
title: EGI (default)
description: Login with your academic account.
scopes:
- openid
- profile
- email
default_clients:
- id: KStcUzD5AIUA
grant_types:
- implicit
- authorization_code+pkce
- urn:ietf:params:oauth:grant-type:device_code+pkce
- refresh_token
redirect_urls:
- https://editor.openeo.org/
- id: google
issuer: 'https://accounts.google.com'
title: Google
Expand Down