blob: d7718620259322466c1f788750f0a42be958c0c2 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>SecurityScheme</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<link rel="shortcut icon" href="/img/microprofile-favicon.png">
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SecurityScheme";
}
}
catch(err) {
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/security/SecurityRequirementsSet.html" title="annotation in org.eclipse.microprofile.openapi.annotations.security"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/security/SecuritySchemes.html" title="annotation in org.eclipse.microprofile.openapi.annotations.security"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/eclipse/microprofile/openapi/annotations/security/SecurityScheme.html" target="_top">Frames</a></li>
<li><a href="SecurityScheme.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.eclipse.microprofile.openapi.annotations.security</div>
<h2 title="Annotation Type SecurityScheme" class="title">Annotation Type SecurityScheme</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>@Target(value={METHOD,TYPE})
@Retention(value=RUNTIME)
@Repeatable(value=<a href="../../../../../../org/eclipse/microprofile/openapi/annotations/security/SecuritySchemes.html" title="annotation in org.eclipse.microprofile.openapi.annotations.security">SecuritySchemes.class</a>)
@Inherited
public @interface <span class="memberNameLabel">SecurityScheme</span></pre>
<div class="block">Defines a security scheme that can be used by the operations.
Supported schemes are HTTP authentication, an API key (either as a header or as a query parameter),
OAuth2's common flows (implicit, password, application and access code) as defined in RFC6749, and OpenID Connect Discovery.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd>"https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#security-scheme-object"</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.optional.element.summary">
<!-- -->
</a>
<h3>Optional Element Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Optional Element Summary table, listing optional elements, and an explanation">
<caption><span>Optional Elements</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Optional Element and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/security/SecurityScheme.html#apiKeyName--">apiKeyName</a></span></code>
<div class="block">Applies to and is REQUIRED for SecurityScheme of apiKey type.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/security/SecurityScheme.html#bearerFormat--">bearerFormat</a></span></code>
<div class="block">Applies to http ("bearer") type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/security/SecurityScheme.html#description--">description</a></span></code>
<div class="block">A short description for security scheme.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/security/OAuthFlows.html" title="annotation in org.eclipse.microprofile.openapi.annotations.security">OAuthFlows</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/security/SecurityScheme.html#flows--">flows</a></span></code>
<div class="block">Applies to and is REQUIRED for SecurityScheme of oauth2 type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/enums/SecuritySchemeIn.html" title="enum in org.eclipse.microprofile.openapi.annotations.enums">SecuritySchemeIn</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/security/SecurityScheme.html#in--">in</a></span></code>
<div class="block">Applies to and is REQUIRED for SecurityScheme of apiKey type.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/security/SecurityScheme.html#openIdConnectUrl--">openIdConnectUrl</a></span></code>
<div class="block">Applies to and is REQUIRED for SecurityScheme of openIdConnect type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/security/SecurityScheme.html#ref--">ref</a></span></code>
<div class="block">Reference value to a SecurityScheme object.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/security/SecurityScheme.html#scheme--">scheme</a></span></code>
<div class="block">Applies to and is REQUIRED for SecurityScheme of http type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/security/SecurityScheme.html#securitySchemeName--">securitySchemeName</a></span></code>
<div class="block">The name of this SecurityScheme.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/enums/SecuritySchemeType.html" title="enum in org.eclipse.microprofile.openapi.annotations.enums">SecuritySchemeType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/security/SecurityScheme.html#type--">type</a></span></code>
<div class="block">The type of the security scheme.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.element.detail">
<!-- -->
</a>
<h3>Element Detail</h3>
<a name="securitySchemeName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>securitySchemeName</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;securitySchemeName</pre>
<div class="block">The name of this SecurityScheme. Used as the key to add this security scheme to the 'securitySchemes' map under Components object.
<p>
It is a REQUIRED property unless this is only a reference to a security scheme instance.
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the name of this SecurityScheme instance</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="type--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>type</h4>
<pre>public abstract&nbsp;<a href="../../../../../../org/eclipse/microprofile/openapi/annotations/enums/SecuritySchemeType.html" title="enum in org.eclipse.microprofile.openapi.annotations.enums">SecuritySchemeType</a>&nbsp;type</pre>
<div class="block">The type of the security scheme. Valid values are defined by SecuritySchemeType enum. Ignored when empty string.
<p>
Type is a REQUIRED property unless this is only a reference to a SecuirtyScheme instance.
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the type of this SecuirtyScheme instance</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.DEFAULT</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="description--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>description</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;description</pre>
<div class="block">A short description for security scheme.
CommonMark syntax can be used for rich text representation.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>description of this SecurityScheme instance</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="apiKeyName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>apiKeyName</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;apiKeyName</pre>
<div class="block">Applies to and is REQUIRED for SecurityScheme of apiKey type.
<p>
The name of the header, query or cookie parameter to be used.
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the name of this apiKey type SecurityScheme instance</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="in--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>in</h4>
<pre>public abstract&nbsp;<a href="../../../../../../org/eclipse/microprofile/openapi/annotations/enums/SecuritySchemeIn.html" title="enum in org.eclipse.microprofile.openapi.annotations.enums">SecuritySchemeIn</a>&nbsp;in</pre>
<div class="block">Applies to and is REQUIRED for SecurityScheme of apiKey type.
<p>
The location of the API key.
Valid values are defined by SecuritySchemeIn enum. Ignored when empty string.
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the location of the API key</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeIn.DEFAULT</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="scheme--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scheme</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;scheme</pre>
<div class="block">Applies to and is REQUIRED for SecurityScheme of http type.
<p>
The name of the HTTP Authorization scheme to be used in the Authorization header as defined in RFC 7235.
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the name of the HTTP Authorization scheme</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="bearerFormat--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bearerFormat</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;bearerFormat</pre>
<div class="block">Applies to http ("bearer") type.
<p>
A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually generated by an authorization server, so this
information is primarily for documentation purposes.
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the format of the bearer token</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="flows--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>flows</h4>
<pre>public abstract&nbsp;<a href="../../../../../../org/eclipse/microprofile/openapi/annotations/security/OAuthFlows.html" title="annotation in org.eclipse.microprofile.openapi.annotations.security">OAuthFlows</a>&nbsp;flows</pre>
<div class="block">Applies to and is REQUIRED for SecurityScheme of oauth2 type.
<p>
An object containing configuration information for the flow types supported.
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>flow types supported by this SecurityScheme instance</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>@org.eclipse.microprofile.openapi.annotations.security.OAuthFlows</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="openIdConnectUrl--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>openIdConnectUrl</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;openIdConnectUrl</pre>
<div class="block">Applies to and is REQUIRED for SecurityScheme of openIdConnect type.
<p>
OpenId Connect URL to discover OAuth2 configuration values.
This MUST be in the form of a URL.
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>URL where OAuth2 configuration values are stored</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="ref--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ref</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;ref</pre>
<div class="block">Reference value to a SecurityScheme object.
<p>
This property provides a reference to an object defined elsewhere. This property and
all other properties are mutually exclusive. If other properties are defined in addition
to the ref property then the result is undefined.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>reference to a security scheme</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/security/SecurityRequirementsSet.html" title="annotation in org.eclipse.microprofile.openapi.annotations.security"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/security/SecuritySchemes.html" title="annotation in org.eclipse.microprofile.openapi.annotations.security"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/eclipse/microprofile/openapi/annotations/security/SecurityScheme.html" target="_top">Frames</a></li>
<li><a href="SecurityScheme.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>