Skip to content

Commit

Permalink
feat: add authentication extension
Browse files Browse the repository at this point in the history
  • Loading branch information
gadomski committed Jun 20, 2024
1 parent e5ce39a commit c70a604
Show file tree
Hide file tree
Showing 4 changed files with 419 additions and 0 deletions.
128 changes: 128 additions & 0 deletions stac/examples/auth/collection.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
{
"stac_version": "1.0.0",
"stac_extensions": [
"https://stac-extensions.github.io/item-assets/v1.0.0/schema.json",
"https://stac-extensions.github.io/authentication/v1.1.0/schema.json"
],
"type": "Collection",
"id": "collection",
"title": "A title",
"description": "A description",
"license": "Apache-2.0",
"extent": {
"spatial": {
"bbox": [
[
172.9,
1.3,
173,
1.4
]
]
},
"temporal": {
"interval": [
[
"2015-06-23T00:00:00Z",
null
]
]
}
},
"auth:schemes": {
"oauth": {
"type": "oauth2",
"description": "requires a login and user token",
"flows": {
"authorizationCode": {
"authorizationUrl": "https://example.com/oauth/authorize",
"tokenUrl": "https://example.com/oauth/token",
"scopes": {
"read:example": "Read the example data",
"write:example": "Write the example data",
"admin:example": "Read/write/delete the example data"
}
}
}
},
"signed_url_auth": {
"type": "signedUrl",
"description": "Requires an authentication API",
"flows": {
"auth": {
"authorizationApi": "https://example.com/signed_url/authorize",
"method": "POST",
"parameters": {
"bucket": {
"in": "body",
"required": true,
"description": "asset-bucket",
"schema": {
"type": "string",
"examples": [
"example-bucket"
]
}
},
"key": {
"in": "body",
"required": true,
"description": "asset key",
"schema": {
"type": "string",
"examples": [
"path/to/example/asset.xyz"
]
}
}
},
"responseField": "signed_url"
}
}
}
},
"assets": {
"example": {
"href": "https://example.com/examples/file.xyz",
"title": "Secure Collection Asset Example",
"type": "application/vnd.example",
"roles": [
"data"
],
"auth:refs": [
"signed_url_auth"
]
}
},
"item_assets": {
"data": {
"title": "Secure Collection Asset Example",
"type": "application/vnd.example",
"roles": [
"data"
],
"auth:refs": [
"oauth"
]
}
},
"summaries": {
"datetime": {
"minimum": "2015-06-23T00:00:00Z",
"maximum": "2019-07-10T13:44:56Z"
}
},
"links": [
{
"href": "https://example.com/examples/collection.json",
"rel": "self"
},
{
"href": "https://example.com/examples/item.json",
"rel": "item",
"auth:refs": [
"oauth"
]
}
]
}
85 changes: 85 additions & 0 deletions stac/examples/auth/item.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
{
"stac_version": "1.0.0",
"stac_extensions": [
"https://stac-extensions.github.io/authentication/v1.1.0/schema.json"
],
"type": "Feature",
"id": "item",
"bbox": [
172.9,
1.3,
173,
1.4
],
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
172.9,
1.3
],
[
173,
1.3
],
[
173,
1.4
],
[
172.9,
1.4
],
[
172.9,
1.3
]
]
]
},
"properties": {
"datetime": "2020-12-11T22:38:32Z",
"auth:schemes": {
"oauth": {
"type": "oauth2",
"description": "requires a login and user token",
"flows": {
"authorizationCode": {
"authorizationUrl": "https://example.com/oauth/authorize",
"tokenUrl": "https://example.com/oauth/token",
"scopes": {
"read:example": "Read the example data",
"write:example": "Write the example data",
"admin:example": "Read/write/delete the example data"
}
}
}
},
"none": {
"type": "http",
"scheme": "basic",
"description": "Free access without restrictions"
}
}
},
"links": [
{
"href": "https://example.com/examples/item.json",
"rel": "self"
}
],
"assets": {
"data": {
"href": "https://example.com/examples/file.xyz",
"title": "Secure Asset Example",
"type": "application/vnd.example",
"roles": [
"data"
],
"auth:refs": [
"oauth"
]
}
}
}
Loading

0 comments on commit c70a604

Please sign in to comment.