Module org.eclipse.microprofile.openapi
Package org.eclipse.microprofile.openapi.annotations.security

# Annotation Type SecurityRequirement

@Target({METHOD,TYPE}) @Retention(RUNTIME) @Repeatable(SecurityRequirements.class) @Inherited public @interface SecurityRequirement
Specifies a security requirement for an operation.

Applying this annotation to a method or class is equivalent to applying a `SecurityRequirementsSet` annotation containing only this annotation.

See Also:
  - OpenAPI Specification Security Requirement Object

## Required Element Summary

Required Elements
Modifier and Type
Required Element
Description
`String`
`name`
Name MUST correspond to a security scheme which is declared in the Security Schemes under the Components Object.

## Optional Element Summary

Optional Elements
Modifier and Type
Optional Element
Description
`String[]`
`scopes`
If the security scheme referred by the name property is of type "oauth2" or "openIdConnect", then the scopes array is a list of scope names required for the execution.

## Element Details

### name

String name
Name MUST correspond to a security scheme which is declared in the Security Schemes under the Components Object.

Returns:
  the name of this Security Requirement instance

### scopes

String[] scopes
If the security scheme referred by the name property is of type "oauth2" or "openIdConnect", then the scopes array is a list of scope names required for the execution.

For other security scheme types, the array MAY contain a list of required roles.

Returns:
  a list of scope names required for the execution of this Security Requirement instance.

Default:
  {}