Skip to content

Commit 726744f

Browse files
committed
v1.12.1 release
1 parent 674154c commit 726744f

20 files changed

Lines changed: 133 additions & 21 deletions

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,18 @@ For a roadmap including expected timeline, please refer to [ROADMAP.md](./ROADMA
1010

1111
## [unreleased]
1212

13+
## [1.12.1]
14+
15+
### Added
16+
17+
- Added `basic-auth` access strategy for generic basic authentication
18+
- Deprecated `sap.businesshub:basic-auth:v1` access strategy in favor of `basic-auth`
19+
20+
### Changed
21+
22+
- Added explicit max length constrain to `systemNamespace` (32 chars)
23+
- This was already stated in the specification, but not enforced in the JSON Schema
24+
1325
## [1.12.0]
1426

1527
### Added

dist/types/v1/Configuration.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ export interface AccessStrategy {
9999
/**
100100
* Defines the authentication/authorization strategy through which the referenced ORD Documents can be accessed.
101101
*/
102-
type: (string | "open" | "sap:oauth-client-credentials:v1" | "sap:cmp-mtls:v1" | "sap.businesshub:basic-auth:v1" | "custom") & string;
102+
type: (string | "open" | "basic-auth" | "sap:oauth-client-credentials:v1" | "sap:cmp-mtls:v1" | "sap.businesshub:basic-auth:v1" | "custom") & string;
103103
/**
104104
* If the fixed `type` enum values need to be extended, an arbitrary `customType` can be provided.
105105
*

dist/types/v1/Document.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ export interface DocumentationLabels {
213213
*/
214214
export interface SystemType {
215215
/**
216-
* The system namespace is a unique identifier for the system type.
216+
* The [system namespace](../index.md#system-namespace) is a unique identifier for the system type.
217217
* It is used to reference the system type in the ORD.
218218
*/
219219
systemNamespace?: string;
@@ -774,7 +774,7 @@ export interface AccessStrategy {
774774
/**
775775
* Defines the authentication/authorization strategy through which the referenced `resourceDefinitions` are accessible.
776776
*/
777-
type: (string | "open" | "sap:oauth-client-credentials:v1" | "sap:cmp-mtls:v1" | "sap.businesshub:basic-auth:v1" | "custom") & string;
777+
type: (string | "open" | "basic-auth" | "sap:oauth-client-credentials:v1" | "sap:cmp-mtls:v1" | "sap.businesshub:basic-auth:v1" | "custom") & string;
778778
/**
779779
* If the fixed `type` enum values need to be extended, an arbitrary `customType` can be provided.
780780
*
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
title: Basic Auth Access Strategy
3+
description: Generic basic auth authentication and authorization.
4+
sidebar_position: 1
5+
---
6+
7+
# Basic Auth Access Strategy
8+
9+
## Description
10+
11+
The `basic-auth` access strategy is a generic access strategy that uses basic authentication for authentication and authorization.
12+
It doesn't specify how the credentials would be exchanged.
13+
14+
To send Basic Authentication with HTTP requests, you include an Authorization header with your request.
15+
The header value is the word `Basic`, followed by a space, then a Base64-encoded string of `username:password`.
16+
17+
The `accessStrategy`.`type` value for it is: `basic-auth`.
18+
19+
## Optional Tenant HTTP Headers
20+
21+
It may be necessary to indicate which tenant the information are requested for.
22+
This becomes necessary when the ORD Provider is multi-tenant and the metadata it provides is different across those tenants (system instance aware).
23+
24+
The HTTP headers are optional and will only be sent by the ORD Aggregator if they are applicable and known by it.
25+
26+
If the ORD Provider has metadata that is different per tenant and it understands the provided tenant IDs, it MUST return the ORD related information and metadata for the chosen tenant.
27+
28+
> ℹ Please note that according to [RFC 7230 Section 3.2](https://www.rfc-editor.org/rfc/rfc7230#section-3.2) HTTP headers are case insensitive.
29+
30+
### Local-Tenant-Id
31+
32+
The local tenant ID is the ID that the system instance itself created and uses to identify its tenants.
33+
It is passed along as a `Local-Tenant-Id` header.
34+
35+
```http
36+
GET /.well-known/open-resource-discovery/document/1
37+
Content-Type: application/json
38+
Local-Tenant-Id: 000023
39+
```
40+
41+
### Global-Tenant-Id
42+
43+
The global tenant ID is a globally unique ID for a system instance (tenant). The scope of uniqueness is within the connected aggregator.
44+
It is passed along as a `Global-Tenant-Id` header.
45+
46+
```http
47+
GET /.well-known/open-resource-discovery/document/1
48+
Content-Type: application/json
49+
Global-Tenant-Id: c6c80b52-ecc1-47f8-9303-0d55fb67fd41
50+
```
51+
52+
### General Remarks
53+
54+
> ℹ If the metadata is not different across tenants (system instance unaware), the response is static and the same across tenants.
55+
> In this case, this should be indicated via `systemInstanceAware`: `false` to avoid unnecessary requests for each tenant.

docs/spec-extensions/access-strategies/open.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Access without mandatory authentication and authorization.
44
sidebar_position: 0
55
---
66

7-
# Open Access Strategy (v1.0)
7+
# Open Access Strategy
88

99
## Description
1010

docs/spec-extensions/access-strategies/sap-businesshub-basic-v1.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ sidebar_position: 3
88

99
## Description
1010

11+
**DEPRECATED**: This access strategy is deprecated and will be removed in a future version of the specification. Please use [`basic-auth`](./basic-auth.md) instead.
12+
1113
This is an SAP internal access strategy that is used for publishing to the [SAP Business Accelerator Hub](https://api.sap.com/), which is used to describe the generic, static catalog perspective.
1214

1315
The [Specification ID](../../spec-v1/index.md#specification-id) for it is: `sap.businesshub:basic-auth:v1`.

docs/spec-v1/interfaces/document.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -839,7 +839,7 @@ A [system type](../index.md#def-system-type) is the abstract type of an applicat
839839

840840
| Property | Type | Description |
841841
| -------- | ---- | ----------- |
842-
|<div className="interface-property-name anchor" id="system-type_systemnamespace">systemNamespace<br/><span className="optional">OPTIONAL</span><a className="hash-link" href="#system-type_systemnamespace" title="SystemType.systemNamespace"></a></div>|<div className="interface-property-type">string</div>|<div className="interface-property-description">The system namespace is a unique identifier for the system type.<br/>It is used to reference the system type in the ORD.<br/><hr/><strong>Regex Pattern</strong>: <code className="regex">^\[a-z0-9\]+(?:\[.\]\[a-z0-9\]+){1}$</code><br/><strong>Example Values</strong>: <ul className="examples"><li>`"sap.s4"`</li><li>`"sap.c4c"`</li><li>`"sap.cld"`</li></ul></div>|
842+
|<div className="interface-property-name anchor" id="system-type_systemnamespace">systemNamespace<br/><span className="optional">OPTIONAL</span><a className="hash-link" href="#system-type_systemnamespace" title="SystemType.systemNamespace"></a></div>|<div className="interface-property-type">string</div>|<div className="interface-property-description">The [system namespace](../index.md#system-namespace) is a unique identifier for the system type.<br/>It is used to reference the system type in the ORD.<br/><hr/><strong>Regex Pattern</strong>: <code className="regex">^\[a-z0-9\]+(?:\[.\]\[a-z0-9\]+){1}$</code><br/><strong>Maximum Length</strong>: `32`<br/><strong>Example Values</strong>: <ul className="examples"><li>`"sap.s4"`</li><li>`"sap.c4c"`</li><li>`"sap.cld"`</li></ul></div>|
843843
|<div className="interface-property-name anchor" id="system-type_correlationids">correlationIds<br/><span className="optional">OPTIONAL</span><a className="hash-link" href="#system-type_correlationids" title="SystemType.correlationIds"></a></div>|<div className="interface-property-type">Array&lt;string&gt;</div>|<div className="interface-property-description">Correlation IDs can be used to create a reference to related data in other repositories (especially to the system of record).<br/><br/>They express an "identity" / "equals" / "mappable" relationship to the target ID.<br/><br/>If a "part of" relationship needs to be expressed, use the `partOfGroups` assignment instead.<br/><br/>MUST be a valid [Correlation ID](../index.md#correlation-id).<br/><hr/><strong>Array Item Regex Pattern</strong>: <code className="regex">^(\[a-z0-9\]+(?:\[.\]\[a-z0-9\]+)\*):(\[a-zA-Z0-9.\_\\-\\/\]+):(\[a-zA-Z0-9.\_\\-\\/\]+)$</code><br/><strong>Example Values</strong>: <ul className="examples"><li>`["sap.cld:systemRole:S4_PC"]`</li></ul></div>|
844844
|<div className="interface-property-name anchor" id="system-type_labels">labels<br/><span className="optional">OPTIONAL</span><a className="hash-link" href="#system-type_labels" title="SystemType.labels"></a></div>|<div className="interface-property-type">[Labels](#labels)</div>|<div className="interface-property-description">Generic labels that can be applied to most ORD information.<br/></div>|
845845
|<div className="interface-property-name anchor" id="system-type_documentationlabels">documentationLabels<br/><span className="optional">OPTIONAL</span><a className="hash-link" href="#system-type_documentationlabels" title="SystemType.documentationLabels"></a></div>|<div className="interface-property-type">[Documentation Labels](#documentation-labels)</div>|<div className="interface-property-description">Generic documentation labels that can be applied to most ORD information.<br/></div>|
@@ -869,7 +869,7 @@ Defines the [access strategy](../../spec-extensions/access-strategies/) for acce
869869

870870
| Property | Type | Description |
871871
| -------- | ---- | ----------- |
872-
|<div className="interface-property-name anchor" id="access-strategy_type">type<br/><span className="mandatory">MANDATORY</span><a className="hash-link" href="#access-strategy_type" title="AccessStrategy.type"></a></div>|<div className="interface-property-type">string</div>|<div className="interface-property-description">Defines the authentication/authorization strategy through which the referenced `resourceDefinitions` are accessible.<br/><hr/><strong>Allowed Values</strong> (extensible): <ul><li><em>Any</em> string: Any valid [Specification ID](../index.md#specification-id).<br/>If chosen, `customDescription` SHOULD be provided.</li><li>`"open"`: The resource definitions are openly accessible and not protected via authentication or authorization.<br/>Please find a more detailed documentation [here](../../spec-extensions/access-strategies/open).</li><li>`"sap:oauth-client-credentials:v1"`: The ORD information are accessible via OAuth 2.0 client credentials flow as standardized within SAP.<br/>Please find a more detailed documentation [here](../../spec-extensions/access-strategies/sap-oauth-client-credentials-v1).</li><li>`"sap:cmp-mtls:v1"`: The ORD information are accessible via Unified Customer Landscape's client certificate.<br/>Please find a more detailed documentation [here](../../spec-extensions/access-strategies/sap-cmp-mtls-v1).</li><li>`"sap.businesshub:basic-auth:v1"`: The ORD information are accessible for SAP Business Accelerator Hub via Basic Auth strategy.<br/>Please find a more detailed documentation [here](../../spec-extensions/access-strategies/sap-businesshub-basic-v1).</li><li>`"custom"`: If chosen, `customType` MUST be provided.<br/>If chosen, `customDescription` SHOULD be provided.</li></ul><br/><strong>Example Values</strong>: <ul className="examples"><li>`"open"`</li></ul></div>|
872+
|<div className="interface-property-name anchor" id="access-strategy_type">type<br/><span className="mandatory">MANDATORY</span><a className="hash-link" href="#access-strategy_type" title="AccessStrategy.type"></a></div>|<div className="interface-property-type">string</div>|<div className="interface-property-description">Defines the authentication/authorization strategy through which the referenced `resourceDefinitions` are accessible.<br/><hr/><strong>Allowed Values</strong> (extensible): <ul><li><em>Any</em> string: Any valid [Specification ID](../index.md#specification-id).<br/>If chosen, `customDescription` SHOULD be provided.</li><li>`"open"`: The resource definitions are openly accessible and not protected via authentication or authorization.<br/>Please find a more detailed documentation [here](../../spec-extensions/access-strategies/open).</li><li>`"basic-auth"`: The resource definitions are protected via generic basic auth.<br/>Please find a more detailed documentation [here](../../spec-extensions/access-strategies/basic-auth).</li><li>`"sap:oauth-client-credentials:v1"`: The ORD information are accessible via OAuth 2.0 client credentials flow as standardized within SAP.<br/>Please find a more detailed documentation [here](../../spec-extensions/access-strategies/sap-oauth-client-credentials-v1).</li><li>`"sap:cmp-mtls:v1"`: The ORD information are accessible via Unified Customer Landscape's client certificate.<br/>Please find a more detailed documentation [here](../../spec-extensions/access-strategies/sap-cmp-mtls-v1).</li><li>`"sap.businesshub:basic-auth:v1"`: The ORD information are accessible for SAP Business Accelerator Hub via Basic Auth strategy.<br/>Please find a more detailed documentation [here](../../spec-extensions/access-strategies/sap-businesshub-basic-v1).</li><li>`"custom"`: If chosen, `customType` MUST be provided.<br/>If chosen, `customDescription` SHOULD be provided.</li></ul><br/><strong>Example Values</strong>: <ul className="examples"><li>`"open"`</li></ul></div>|
873873
|<div className="interface-property-name anchor" id="access-strategy_customtype">customType<br/><span className="optional">OPTIONAL</span><a className="hash-link" href="#access-strategy_customtype" title="AccessStrategy.customType"></a></div>|<div className="interface-property-type">string</div>|<div className="interface-property-description">If the fixed `type` enum values need to be extended, an arbitrary `customType` can be provided.<br/><br/>MUST be a valid [Specification ID](../index.md#specification-id).<br/><br/>MUST only be provided if `type` is set to `custom`.<br/><hr/><strong>Regex Pattern</strong>: <code className="regex">^(\[a-z0-9\]+(?:\[.\]\[a-z0-9\]+)\*):(\[a-zA-Z0-9.\_\\-\]+):(v0\|v\[1-9\]\[0-9\]\*)$</code><br/><strong>Maximum Length</strong>: `255`<br/><strong>Example Values</strong>: <ul className="examples"><li>`"sap.xref:open-local-tenant-id:v1"`</li></ul></div>|
874874
|<div className="interface-property-name anchor" id="access-strategy_customdescription">customDescription<br/><span className="optional">OPTIONAL</span><a className="hash-link" href="#access-strategy_customdescription" title="AccessStrategy.customDescription"></a></div>|<div className="interface-property-type">string</div>|<div className="interface-property-description">Human-readable description about how the access is set up, notated in [CommonMark](https://spec.commonmark.org/) (Markdown).<br/><br/>MUST only be provided if `type` is set to `custom`.<br/><hr/><strong>Minimum Length</strong>: `1`<br/><strong>Example Values</strong>: <ul className="examples"><li>`"To set up the access to OData APIs, please refer to the [SAP Cloud for Customer OData API](https://help.sap.com/viewer/1364b70b9cbb417ea5e2d80e966d4f49/CLOUD/en-US) help pages.\""`</li></ul></div>|
875875

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "http://json.schemastore.org/package",
33
"name": "@open-resource-discovery/specification",
4-
"version": "1.12.0",
4+
"version": "1.12.1",
55
"description": "Open Resource Discovery (ORD) Specification",
66
"author": "SAP SE",
77
"license": "Apache-2.0",
@@ -29,8 +29,8 @@
2929
"@docusaurus/core": "3.8.1",
3030
"@docusaurus/preset-classic": "3.8.1",
3131
"@docusaurus/theme-mermaid": "3.8.1",
32-
"@easyops-cn/docusaurus-search-local": "0.51.1",
33-
"@mdx-js/react": "3.1.0",
32+
"@easyops-cn/docusaurus-search-local": "0.52.1",
33+
"@mdx-js/react": "3.1.1",
3434
"clsx": "2.1.1",
3535
"prism-react-renderer": "2.4.1",
3636
"react": "18.3.1",

static/css/custom.css

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,7 @@ html[data-nav-scrolled="1"] .header-github-pill {
437437
width: 160px;
438438
height: 32px;
439439
border-radius: 8px;
440-
padding: 5px 8px;
440+
margin: 3px 8px;
441441
display: flex;
442442
align-items: center;
443443
justify-content: space-between;
@@ -449,7 +449,7 @@ html[data-nav-scrolled="1"] .header-github-pill {
449449
.navbar :is(input.navbar__search-input, input[class*="searchInput_"]) {
450450
flex: 1;
451451
min-width: 0;
452-
padding-left: 22px;
452+
padding-left: 30px;
453453
background: transparent !important;
454454
color: #e0e6ea !important;
455455
border: 0;
@@ -496,9 +496,11 @@ html[data-nav-scrolled="1"] .header-github-pill {
496496
height: 100%;
497497
background: url("../img/icons/cmd-k.svg") center/contain no-repeat;
498498
}
499-
/*Clear (X) icon*/
500-
.searchClearButton {
499+
500+
/* Clear (X) icon */
501+
[class*="searchClearButton"] {
501502
filter: invert(1);
503+
opacity: 0.9;
502504
}
503505

504506
/* ===== navbar states ===== */
@@ -514,11 +516,13 @@ html:not([data-nav-scrolled="1"]) #__docusaurus:has(.ord-home-flag) .navbar::bef
514516

515517
/* Inner pages: glass */
516518
#__docusaurus:not(:has(.ord-home-flag)) .navbar {
517-
background-color: rgba(var(--bg-rgb), var(--glass-alpha)) !important;
519+
background-color: var(--lp-c-bg) !important;
520+
opacity: var(--glass-alpha);
518521
backdrop-filter: blur(10px) saturate(140%) !important;
519522
-webkit-backdrop-filter: blur(10px) saturate(140%) !important;
520523
border-bottom: 1px solid var(--nav-border-scrolled) !important;
521524
}
525+
522526
#__docusaurus:not(:has(.ord-home-flag)) .navbar::before {
523527
opacity: 0 !important;
524528
}

static/spec-v1/interfaces/Configuration.annotated.schema.json

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,11 @@
116116
"const": "open",
117117
"description": "The resource definitions are openly accessible and not protected via authentication or authorization.\nPlease find a more detailed documentation [here](../../spec-extensions/access-strategies/open)."
118118
},
119+
{
120+
"const": "basic-auth",
121+
"description": "The resource definitions are protected via generic basic auth.\nPlease find a more detailed documentation [here](../../spec-extensions/access-strategies/basic-auth).",
122+
"x-introduced-in-version": "1.12.1"
123+
},
119124
{
120125
"const": "sap:oauth-client-credentials:v1",
121126
"description": "The ORD information are accessible via OAuth 2.0 client credentials flow as standardized within SAP.\nPlease find a more detailed documentation [here](../../spec-extensions/access-strategies/sap-oauth-client-credentials-v1)."
@@ -126,7 +131,9 @@
126131
},
127132
{
128133
"const": "sap.businesshub:basic-auth:v1",
129-
"description": "The ORD information are accessible for SAP Business Accelerator Hub via Basic Auth strategy.\nPlease find a more detailed documentation [here](../../spec-extensions/access-strategies/sap-businesshub-basic-v1)."
134+
"description": "The ORD information are accessible for SAP Business Accelerator Hub via Basic Auth strategy.\nPlease find a more detailed documentation [here](../../spec-extensions/access-strategies/sap-businesshub-basic-v1).",
135+
"x-deprecated-in-version": "1.12.1",
136+
"x-deprecated": "This access strategy is deprecated and will be removed in a future version of the specification.\nPlease use `basic-auth` instead."
130137
},
131138
{
132139
"const": "custom",

0 commit comments

Comments
 (0)