Share via


RequiredScopeOrAppPermissionAttribute Class

Definition

This attribute is used on a controller, pages, or controller actions to declare (and validate) the scopes or app permissions required by a web API. These scopes or app permissions can be declared in two ways: hardcoding them, or declaring them in the configuration. Depending on your choice, use either one or the other of the constructors. For details, see https://aka.ms/ms-id-web/required-scope-or-app-permissions-attribute.

[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method)]
public class RequiredScopeOrAppPermissionAttribute : Attribute, Microsoft.Identity.Web.IAuthRequiredScopeOrAppPermissionMetadata
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method)>]
type RequiredScopeOrAppPermissionAttribute = class
    inherit Attribute
    interface IAuthRequiredScopeOrAppPermissionMetadata
Public Class RequiredScopeOrAppPermissionAttribute
Inherits Attribute
Implements IAuthRequiredScopeOrAppPermissionMetadata
Inheritance
RequiredScopeOrAppPermissionAttribute
Attributes
Implements

Constructors

RequiredScopeOrAppPermissionAttribute()

Default constructor.

RequiredScopeOrAppPermissionAttribute(String[], String[])

Verifies that the web API is called with the right app permissions. If the token obtained for this API is on behalf of the authenticated user does not have any of these acceptedScopes in its scope claim, nor acceptedAppPermissions in its roles claim, the method updates the HTTP response providing a status code 403 (Forbidden) and writes to the response body a message telling which scopes are expected in the token.

Properties

AcceptedAppPermission

App permissions accepted by this web API. App permissions appear in the roles claim of the token.

AcceptedScope

Scopes accepted by this web API.

RequiredAppPermissionsConfigurationKey

Fully qualified name of the configuration key containing the required app permissions (separated by spaces).

RequiredScopesConfigurationKey

Fully qualified name of the configuration key containing the required scopes (separated by spaces).

Applies to