Class WoTSecVocab
- Author:
- Auto-generated by schemagen on 09 Jul 2026 07:16
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final org.apache.jena.rdf.model.PropertyEncoding, encryption, or digest algorithm.static final org.apache.jena.rdf.model.PropertyArray of two or more strings identifying other named security scheme definitions, all of which must be satisfied for access.static final org.apache.jena.rdf.model.PropertySpecifies the location of security authentication information.static final org.apache.jena.rdf.model.ResourceAPI key authentication security configuration identified by the term <code>apikey</code> (i.e., <code>"scheme": "apikey"</code>).static final org.apache.jena.rdf.model.PropertyURI of the authorization server.static final org.apache.jena.rdf.model.ResourceAn automatic authentication security configuration identified by the term <code>auto</code> (i.e., <code>"scheme": "auto"</code>).static final org.apache.jena.rdf.model.ResourceBasic authentication security configuration identified by the term <code>basic</code> (i.e., <code>"scheme": "basic"</code>), using an unencrypted username and password.static final org.apache.jena.rdf.model.ResourceBearer token authentication security configuration identified by the term <code>bearer</code> (i.e., <code>"scheme": "bearer"</code>).static final org.apache.jena.rdf.model.Resource<p>A combination of other security schemes identified by the <a>Vocabulary Term</a> <code>combo</code> (i.e., <code>"scheme": "combo"</code>).static final org.apache.jena.rdf.model.ResourceDigest authentication security configuration identified by the term <code>digest</code> (i.e., <code>"scheme": "digest"</code>).static final org.apache.jena.rdf.model.PropertyAuthorization flow.static final org.apache.jena.rdf.model.PropertySpecifies format of security authentication information.static final org.apache.jena.rdf.model.PropertyIdentifier providing information which can be used for selection or confirmation.static final org.apache.jena.rdf.model.PropertySpecifies the location of security authentication information.static final org.apache.jena.rdf.model.PropertyName for query, header, cookie, or uri parameters.static final org.apache.jena.rdf.model.ResourceThe namespace of the vocabulary as a resourcestatic final org.apache.jena.rdf.model.ResourceA security configuration corresponding to identified by the term <code>nosec</code> (i.e., <code>"scheme": "nosec"</code>), indicating there is no authentication or other mechanism required to access the resource.static final StringThe namespace of the vocabulary as a stringstatic final org.apache.jena.rdf.model.Resource<p>OAuth 2.0 authentication security configuration for systems conformant with [[!static final org.apache.jena.rdf.model.PropertyArray of two or more strings identifying other named security scheme definitions, any one of which, when satisfied, will allow access.static final org.apache.jena.rdf.model.PropertyURI of the proxy server this security configuration provides access to.static final org.apache.jena.rdf.model.ResourcePre-shared key authentication security configuration identified by the term <code>psk</code> (i.e., <code>"scheme": "psk"</code>).static final org.apache.jena.rdf.model.PropertyQuality of protection.static final org.apache.jena.rdf.model.PropertyURI of the refresh server.static final org.apache.jena.rdf.model.PropertySet of authorization scope identifiers provided as an array.static final org.apache.jena.rdf.model.Resourcestatic final org.apache.jena.rdf.model.PropertyURI of the token server.static final StringThe ontology's owl:versionInfo as a string -
Constructor Summary
Constructors -
Method Summary
-
Field Details
-
NS
-
NAMESPACE
public static final org.apache.jena.rdf.model.Resource NAMESPACEThe namespace of the vocabulary as a resource
-
VERSION_INFO
-
alg
public static final org.apache.jena.rdf.model.Property algEncoding, encryption, or digest algorithm.
-
allOf
public static final org.apache.jena.rdf.model.Property allOfArray of two or more strings identifying other named security scheme definitions, all of which must be satisfied for access.
-
apikeyIn
public static final org.apache.jena.rdf.model.Property apikeyInSpecifies the location of security authentication information.
-
authorization
public static final org.apache.jena.rdf.model.Property authorizationURI of the authorization server.
-
flow
public static final org.apache.jena.rdf.model.Property flowAuthorization flow.
-
format
public static final org.apache.jena.rdf.model.Property formatSpecifies format of security authentication information.
-
identity
public static final org.apache.jena.rdf.model.Property identityIdentifier providing information which can be used for selection or confirmation.
-
in
public static final org.apache.jena.rdf.model.Property inSpecifies the location of security authentication information.
-
name
public static final org.apache.jena.rdf.model.Property nameName for query, header, cookie, or uri parameters.
-
oneOf
public static final org.apache.jena.rdf.model.Property oneOfArray of two or more strings identifying other named security scheme definitions, any one of which, when satisfied, will allow access. Only one may be chosen for use.
-
proxy
public static final org.apache.jena.rdf.model.Property proxyURI of the proxy server this security configuration provides access to. If not given, the corresponding security configuration is for the endpoint. <br/>This feature is at risk.
-
qop
public static final org.apache.jena.rdf.model.Property qopQuality of protection. <br/>This feature is at risk.
-
refresh
public static final org.apache.jena.rdf.model.Property refreshURI of the refresh server.
-
scopes
public static final org.apache.jena.rdf.model.Property scopesSet of authorization scope identifiers provided as an array. These are provided in tokens returned by an authorization server and associated with forms in order to identify what resources a client may access and how. The values associated with a form should be chosen from those defined in an <code>OAuth2SecurityScheme</code> active on that form. <br/>This feature is at risk.
-
token
public static final org.apache.jena.rdf.model.Property tokenURI of the token server.
-
APIKeySecurityScheme
public static final org.apache.jena.rdf.model.Resource APIKeySecuritySchemeAPI key authentication security configuration identified by the term <code>apikey</code> (i.e., <code>"scheme": "apikey"</code>). This scheme is to be used when the access token is opaque, for example when a key in a proprietary format is provided by a cloud service provider. In this case the key may not be using a standard token format. This scheme indicates that the key provided by the service provider needs to be supplied as part of service requests using the mechanism indicated by the <code>"in"</code> field.
-
AutoSecurityScheme
public static final org.apache.jena.rdf.model.Resource AutoSecuritySchemeAn automatic authentication security configuration identified by the term <code>auto</code> (i.e., <code>"scheme": "auto"</code>). This scheme indicates that the security parameters are going to be negotiated by the underlying protocols at runtime, subject to the respective specifications for the protocol (e.g. [[!RFC8288]] for Basic Authentication when using HTTP).
-
BasicSecurityScheme
public static final org.apache.jena.rdf.model.Resource BasicSecuritySchemeBasic authentication security configuration identified by the term <code>basic</code> (i.e., <code>"scheme": "basic"</code>), using an unencrypted username and password.
-
BearerSecurityScheme
public static final org.apache.jena.rdf.model.Resource BearerSecuritySchemeBearer token authentication security configuration identified by the term <code>bearer</code> (i.e., <code>"scheme": "bearer"</code>). This scheme is intended for situations where bearer tokens are used independently of OAuth2. If the <code>oauth2</code> scheme is specified it is not generally necessary to specify this scheme as well as it is implied. For <code>format</code>, the value <code>jwt</code> indicates conformance with RFC7519, <code>jws</code> indicates conformance with RFC7797, <code>cwt</code> indicates conformance with RFC8392, and <code>jwe</code> indicates conformance with !RFC7516, with values for <code>alg</code> interpreted consistently with those standards. <span class="rfc2119-assertion" id="td-security-bearer-format-extensions">Other formats and algorithms for bearer tokens MAY be specified in vocabulary extensions.</span>
-
ComboSecurityScheme
public static final org.apache.jena.rdf.model.Resource ComboSecurityScheme<p>A combination of other security schemes identified by the <a>Vocabulary Term</a> <code>combo</code> (i.e., <code>"scheme": "combo"</code>). Elements of this scheme define various ways in which other named schemes defined in <code>securityDefinitions</code>, including other <a href="#ComboSecurityScheme"><code>ComboSecurityScheme</code></a> definitions, are to be combined to create a new scheme definition. <span class="rfc2119-assertion" id="td-security-combo-exclusive-oneof-or-allof">Exactly one of either <code>oneOf</code> or <code>allOf</code> MUST be included.</span> <!-- Redundant, table states "two or more" already <scan class="rfc2119-assertion">The array given as a value associated with either <code>oneOf</code> or <code>allOf</code> MUST have at least two elements.</scan> --> Only security scheme definitions which can be used together can be combined with <code>allOf</code>. For example, it is not possible in general to combine different OAuth 2.0 flows together using <code>allOf</code> unless one applies to a proxy and one to the endpoint. Note that when multiple named security scheme definitions are listed in a <code>security</code> field the same semantics apply as in an <code>allOf</code> combination (and the same limitations on allowable combinations). The <code>oneOf</code> combination is equivalent to using different security schemes on forms that are otherwise identical. In this sense a <code>oneOf</code> scheme is not an essential feature but it does avoid redundancy in such cases.</p>
-
DigestSecurityScheme
public static final org.apache.jena.rdf.model.Resource DigestSecuritySchemeDigest authentication security configuration identified by the term <code>digest</code> (i.e., <code>"scheme": "digest"</code>). This scheme is similar to basic authentication but with added features to avoid man-in-the-middle attacks.
-
NoSecurityScheme
public static final org.apache.jena.rdf.model.Resource NoSecuritySchemeA security configuration corresponding to identified by the term <code>nosec</code> (i.e., <code>"scheme": "nosec"</code>), indicating there is no authentication or other mechanism required to access the resource.
-
OAuth2SecurityScheme
public static final org.apache.jena.rdf.model.Resource OAuth2SecurityScheme<p>OAuth 2.0 authentication security configuration for systems conformant with [[!RFC6749]] and [[!RFC8252]], <!-- and (for the <code>device</code> flow) [[!RFC8628]],--> identified by the <a>Vocabulary Term</a> <code>oauth2</code> (i.e., <code>"scheme": "oauth2"</code>). <span class="rfc2119-assertion" id="td-security-oauth2-code-flow">For the <code>code</code> flow both <code>authorization</code> and <code>token</code> MUST be included.</span> <span class="rfc2119-assertion" id="td-security-oauth2-client-flow">For the <code>client</code> flow <code>token</code> MUST be included.</span> <span class="rfc2119-assertion" id="td-security-oauth2-client-flow-no-auth">For the <code>client</code> flow <code>authorization</code> MUST NOT be included.</span> <!-- <span class="rfc2119-assertion" id="td-security-oauth2-device-flow">For the <code>device</code> flow both <code>authorization</code> and <code>token</code> MUST be included.</span> In the case of the <code>device</code> flow the value provided for <code>authorization</code> refers to the device authorization endpoint defined in [[!RFC8628]].--> The mandatory elements for each flow are summarized in the following table: <table class="def"> <tr><th>Element</th><th><code>code</code></th><th><code>client</code></th><!-- <th><code>device</code></th> --></tr> <tr><td><code>authorization</code></td><td>mandatory</td><td>omit</td><!-- <td>mandatory; refers to device authorization endpoint</td> --></tr> <tr><td><code>token</code></td><td>mandatory</td><td>mandatory</td><!-- <td>mandatory</td> --></tr> <tr><td><code>refresh</code></td><td>optional</td><td>optional</td><!-- <td>optional</td> --></tr> </table> </p> <!-- <p class="ednote"> Note that the table below lists these elements as "optional". In fact whether they are mandatory or not depends on the flow. The <code>token</code> element is listed as optional even though it is mandatory for all predefined flows since it might not be mandatory for some flows defined in an extension. We should investigate whether there is a better way to express these "variant record" constraints.</p><p>If multiple flows are available (for example, multiple OAuth 2.0 security schemes with different flows are given for a <code>Form</code>) then only one may be selected for use by a <a>Consumer</a>. <span class="rfc2119-assertion" id="td-security-oauth2-other-flows">If an OAuth 2.0 flow other than <code>code</code>, <code>client</code> or <code>device</code> needs to be specified an extension vocabulary MUST be used.</span> This includes the <code>password</code> and <code>implicit</code> flows, which are no longer considered best practice [[WOT-SECURITY-GUIDELINES]]. This also applies to flows that are similar at the protocol level but do not exactly follow the OAuth 2.0 specification, for example by automating grants rather than invoking a user agent to interact with a human resource owner. If no <code>scopes</code> are defined in the <code>SecurityScheme</code> then they are considered to be empty.</p> <p class="ednote">The device authorization endpoint technically uses a different protocol than the authorization endpoint used by other flows, and it might be possible for a developer to confuse the two. However, since the <code>device</code> flow does not use the regular authorization endpoint there should be no ambiguity. We are considering however an alternative design where there is a separate element, <code>device_authorization</code>, which MUST be included for the <code>device</code> flow (and then the regular authorization endpoint then MUST NOT be used).</p> -->
-
PSKSecurityScheme
public static final org.apache.jena.rdf.model.Resource PSKSecuritySchemePre-shared key authentication security configuration identified by the term <code>psk</code> (i.e., <code>"scheme": "psk"</code>). This is meant to identify that a standard is used for pre-shared keys such as TLS-PSK [[rfc4279]], and that the ciphersuite used for keys will be established during protocol negotiation.
-
SecurityScheme
public static final org.apache.jena.rdf.model.Resource SecurityScheme
-
-
Constructor Details
-
WoTSecVocab
public WoTSecVocab()
-
-
Method Details
-
getURI
The namespace of the vocabulary as a string
- Returns:
- namespace as String
- See Also:
-