Skip to content

Commit 4531289

Browse files
authored
add notes for base64url Encodings (#416)
* add notes to clarify the behavior for base64url encoded values. * improve first note on encoding
1 parent 31056f2 commit 4531289

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

documentation/IDTA-01002-3/modules/ROOT/pages/changelog.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ Minor Changes:
4040

4141
* Clarification on how to handle duplicate query parameters
4242
* Replace "servers" clause in OpenAPI files
43+
* Add notes for base64url-encoded values and order of "assetIds" query parameters
4344

4445
=== Interface Changes w.r.t. V3.0.3 to V3.1
4546

documentation/IDTA-01002-3/modules/ROOT/pages/http-rest-api/http-rest-api.adoc

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,21 @@ A list of base64url-encoded ids is simply passed as comma-separated query parame
8585
* Please note that base64url-encoding differs slightly from base64-encoding and has been specifically defined for passing URLs.
8686
An appropriate base64url implementation needs to be used for encoding/decoding.
8787
See RFC 4648 for further details.
88+
89+
====
90+
Note: Encoding JSON objects may lead to different encoded strings, depending e.g. whether control characters (white spaces, line-breaks etc.) are included or not. However, servers must be able to deal with included control characters and operate on the original content.
91+
====
92+
8893
* When base64url or base64-encoding is mentioned in connection with string values (e.g. Identifiers), the UTF-8 decoded byte array representation of that string is used for the base64url or base64-encoding.
8994
* When retrieving AssetAdministrationShells (/shells, /lookup/shells), a query parameter “?assetids=” can be specified.
9095
Such assetId may be a globalAssetId or specificAssetId.
9196
The corresponding key-value-pair is first serialized to JSON and then base64url-encoded.
9297
The resulting encoded string is the value of “?assetids=”.
98+
99+
====
100+
Note: In case more than one globalAssetId or specificAssetId is provided, their order shall not affect the result.
101+
====
102+
93103
* In some operations, references are part of the query parameters e.g. “?semanticId=”.
94104
The corresponding reference is first serialized to JSON and then base64url-encoded.
95105
The resulting encoded string is the value of “?semanticId=”.
@@ -178,7 +188,7 @@ Technically, the idShortPath is a string and the idShorts are separated by a dot
178188

179189
.Example Hierarchy of Submodel Elements
180190
[[se-hierarchy]]
181-
image::se-hierarchy.jpeg[image24,width=642,height=367]
191+
image::se-hierarchy.png[image24,width=642,height=367]
182192

183193
The example hierarchy in <<se-hierarchy>> shows a Submodel with a hierarchical structure of SubmodelElements.
184194
The submodel can be addressed by its global identifier “https://admin-shell.io/sampleSM”.

0 commit comments

Comments
 (0)